{"openapi":"3.1.0","info":{"title":"Helix Insight - Variant Analysis Service","description":"AI-powered variant analysis and interpretation service","version":"0.1.0"},"paths":{"/health":{"get":{"tags":["health"],"summary":"Health check","description":"Basic service health check","operationId":"health_check_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Health Check Health Get"}}}}}}},"/health/ready":{"get":{"tags":["health"],"summary":"Readiness check","description":"Check if service is ready to accept requests","operationId":"readiness_check_health_ready_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Readiness Check Health Ready Get"}}}}}}},"/public/v1/variants/interpret":{"post":{"tags":["public-variants"],"summary":"Interpret one public GRCh38 variant","description":"Validate, resolve, classify and project one anonymous public variant.","operationId":"interpret_public_variant_public_v1_variants_interpret_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"assembly":{"type":"string"},"chromosome":{"type":"string"},"position":{"type":"integer"},"reference":{"type":"string"},"alternate":{"type":"string"}},"additionalProperties":false,"type":"object","required":["assembly","chromosome","position","reference","alternate"]}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/PublicVariantSuccessResponse"},{"$ref":"#/components/schemas/PublicVariantUnavailableResponse"},{"$ref":"#/components/schemas/PublicVariantValidationErrorResponse"}],"title":"Response Interpret Public Variant Public V1 Variants Interpret Post","discriminator":{"propertyName":"status","mapping":{"success":"#/components/schemas/PublicVariantSuccessResponse","unavailable":"#/components/schemas/PublicVariantUnavailableResponse","invalid_request":"#/components/schemas/PublicVariantValidationErrorResponse"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicVariantValidationErrorResponse"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"properties":{"error_code":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"}},"additionalProperties":false,"type":"object","required":["error_code","message","retryable"]}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"properties":{"error_code":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"}},"additionalProperties":false,"type":"object","required":["error_code","message","retryable"]}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicVariantUnavailableResponse"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicVariantUnavailableResponse"}}}},"504":{"description":"Gateway Timeout","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicVariantUnavailableResponse"}}}}}}},"/public/v1/variants/search":{"post":{"tags":["public-variants"],"summary":"Resolve and interpret one public GRCh38 variant query","description":"Resolve one bounded query and interpret only one unique identity.","operationId":"search_public_variant_public_v1_variants_search_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"assembly":{"type":"string","const":"GRCh38"},"query":{"type":"string","maxLength":512,"minLength":1}},"additionalProperties":false,"type":"object","required":["assembly","query"]}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/PublicVariantSearchResolvedResponse"},{"$ref":"#/components/schemas/PublicVariantSearchAmbiguousResponse"},{"$ref":"#/components/schemas/PublicVariantSearchNotFoundResponse"},{"$ref":"#/components/schemas/PublicVariantSearchInvalidRequestResponse"},{"$ref":"#/components/schemas/PublicVariantSearchUnsupportedResponse"},{"$ref":"#/components/schemas/PublicVariantSearchUnavailableResponse"}],"title":"Response Search Public Variant Public V1 Variants Search Post","discriminator":{"propertyName":"status","mapping":{"resolved":"#/components/schemas/PublicVariantSearchResolvedResponse","ambiguous":"#/components/schemas/PublicVariantSearchAmbiguousResponse","not_found":"#/components/schemas/PublicVariantSearchNotFoundResponse","invalid_request":"#/components/schemas/PublicVariantSearchInvalidRequestResponse","unsupported":"#/components/schemas/PublicVariantSearchUnsupportedResponse","resolution_unavailable":"#/components/schemas/PublicVariantSearchUnavailableResponse"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicVariantSearchInvalidRequestResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicVariantSearchNotFoundResponse"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"properties":{"error_code":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"}},"additionalProperties":false,"type":"object","required":["error_code","message","retryable"]}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicVariantSearchUnsupportedResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"properties":{"error_code":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"}},"additionalProperties":false,"type":"object","required":["error_code","message","retryable"]}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicVariantSearchResolvedResponse"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/PublicVariantSearchResolvedResponse"},{"$ref":"#/components/schemas/PublicVariantSearchUnavailableResponse"}],"title":"Response 503 Search Public Variant Public V1 Variants Search Post"}}}},"504":{"description":"Gateway Timeout","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/PublicVariantSearchResolvedResponse"},{"$ref":"#/components/schemas/PublicVariantSearchUnavailableResponse"}],"title":"Response 504 Search Public Variant Public V1 Variants Search Post"}}}}}}},"/public/v1/variants/reference":{"get":{"tags":["public-variants"],"summary":"Read a bounded public GRCh38 and MANE reference window","operationId":"public_reference_public_v1_variants_reference_get","parameters":[{"name":"chrom","in":"query","required":true,"schema":{"type":"string","pattern":"^(?i:(?:chr)?(?:[1-9]|1[0-9]|2[0-2]|X|Y))$","title":"Chrom"}},{"name":"start","in":"query","required":true,"schema":{"type":"integer","maximum":300000000,"minimum":1,"title":"Start"}},{"name":"end","in":"query","required":true,"schema":{"type":"integer","maximum":300000000,"minimum":1,"title":"End"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicReferenceResponse"}}}},"422":{"description":"Invalid reference window"},"429":{"description":"Anonymous request limit reached"},"503":{"description":"Reference assets unavailable"},"504":{"description":"Reference read timed out"}}}},"/public/v1/gene-disease/ready":{"get":{"tags":["public-gene-disease"],"summary":"Ready","operationId":"ready_public_v1_gene_disease_ready_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadyResponse"}}}}}}},"/public/v1/gene-disease/genes/search":{"post":{"tags":["public-gene-disease"],"summary":"Gene Associations","operationId":"gene_associations_public_v1_gene_disease_genes_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneDiseaseResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/public/v1/gene-disease/diseases/search":{"post":{"tags":["public-gene-disease"],"summary":"Disease Genes","operationId":"disease_genes_public_v1_gene_disease_diseases_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiseaseRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneDiseaseResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/public/v1/genes/resolve":{"post":{"tags":["public-genes"],"summary":"Resolve Gene","operationId":"resolve_gene_public_v1_genes_resolve_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/public/v1/genes/profile":{"post":{"tags":["public-genes"],"summary":"Gene Profile","operationId":"gene_profile_public_v1_genes_profile_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/public/v1/genes/section":{"post":{"tags":["public-genes"],"summary":"Gene Section","operationId":"gene_section_public_v1_genes_section_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SectionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SectionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/public/v1/genes/catalog":{"post":{"tags":["public-genes"],"summary":"Gene Catalog","operationId":"gene_catalog_public_v1_genes_catalog_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/public/v1/genes/literature":{"post":{"tags":["public-genes"],"summary":"Gene Literature","operationId":"gene_literature_public_v1_genes_literature_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneLiteratureRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneLiteratureResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/public/v1/atlas/statistics":{"get":{"tags":["public-atlas"],"summary":"Statistics","description":"Return validated counts from the active published Atlas only.","operationId":"statistics_public_v1_atlas_statistics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicAtlasStatisticsReadyResponse"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicAtlasStatisticsUnavailableResponse"}}}}}}},"/sessions/{session_id}/variants/summaries":{"get":{"tags":["variants-streaming"],"summary":"Stream gene summaries (lightweight, ~300KB)","description":"Stream pre-generated gene summaries for instant case loading","operationId":"stream_gene_summaries_sessions__session_id__variants_summaries_get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"expected_version","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expected Version"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/variants/by-gene/{gene_symbol}":{"get":{"tags":["variants-streaming"],"summary":"Get variants for a single gene (on-demand)","description":"Fetch all variants for a specific gene from DuckDB. Used for lazy gene expansion.","operationId":"get_gene_variants_sessions__session_id__variants_by_gene__gene_symbol__get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"gene_symbol","in":"path","required":true,"schema":{"type":"string","title":"Gene Symbol"}},{"name":"expected_version","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expected Version"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/variants/stream/by-gene":{"get":{"tags":["variants-streaming"],"summary":"Stream Variants By Gene","description":"Lease-protected replacement for nginx cross-tier static resolution.","operationId":"stream_variants_by_gene_sessions__session_id__variants_stream_by_gene_get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/variants/browse/version":{"get":{"tags":["variants"],"summary":"Result Version","operationId":"result_version_sessions__session_id__variants_browse_version_get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/variants/browse":{"get":{"tags":["variants"],"summary":"Result Page","operationId":"result_page_sessions__session_id__variants_browse_get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"scope","in":"query","required":false,"schema":{"enum":["variants","phenotype","screening","denovo","mtdna","carriers","dominant","review"],"type":"string","default":"variants","title":"Scope"}},{"name":"gene","in":"query","required":false,"schema":{"type":"string","maxLength":200,"default":"","title":"Gene"}},{"name":"classification","in":"query","required":false,"schema":{"type":"string","pattern":"^(P|LP|VUS|LB|B)?$","default":"","title":"Classification"}},{"name":"tier","in":"query","required":false,"schema":{"type":"string","maxLength":20,"default":"","title":"Tier"}},{"name":"hpo","in":"query","required":false,"schema":{"type":"string","maxLength":30,"default":"","title":"Hpo"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"version","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Version"}},{"name":"min_depth","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Min Depth"}},{"name":"min_quality","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Min Quality"}},{"name":"min_vaf","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":1,"minimum":0},{"type":"null"}],"title":"Min Vaf"}},{"name":"max_vaf","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":1,"minimum":0},{"type":"null"}],"title":"Max Vaf"}},{"name":"max_gnomad_af","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":1,"minimum":0},{"type":"null"}],"title":"Max Gnomad Af"}},{"name":"include_unknown_af","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Unknown Af"}},{"name":"impact","in":"query","required":false,"schema":{"anyOf":[{"enum":["HIGH","MODERATE","LOW","MODIFIER"],"type":"string"},{"type":"null"}],"title":"Impact"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/variants/browse/detail/{variant_idx}":{"get":{"tags":["variants"],"summary":"Result Detail","operationId":"result_detail_sessions__session_id__variants_browse_detail__variant_idx__get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"variant_idx","in":"path","required":true,"schema":{"type":"integer","title":"Variant Idx"}},{"name":"scope","in":"query","required":false,"schema":{"enum":["variants","phenotype","screening","denovo","mtdna","carriers","dominant","review"],"type":"string","default":"variants","title":"Scope"}},{"name":"version","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Version"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/variants":{"get":{"tags":["variants"],"summary":"Query variants","description":"Query processed variants with filters and pagination","operationId":"query_variants_sessions__session_id__variants_get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"acmg_class","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"ACMG classifications","title":"Acmg Class"},"description":"ACMG classifications"},{"name":"min_confidence","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":100,"minimum":0},{"type":"null"}],"title":"Min Confidence"}},{"name":"min_priority_score","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Min Priority Score"}},{"name":"gene_symbol","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Gene symbols (supports partial match)","title":"Gene Symbol"},"description":"Gene symbols (supports partial match)"},{"name":"consequence","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Consequences","title":"Consequence"},"description":"Consequences"},{"name":"impact","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Impact levels","title":"Impact"},"description":"Impact levels"},{"name":"max_gnomad_af","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":1,"minimum":0},{"type":"null"}],"title":"Max Gnomad Af"}},{"name":"include_unknown_af","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Unknown Af"}},{"name":"min_depth","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Min Depth"}},{"name":"min_quality","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Min Quality"}},{"name":"min_vaf","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":1,"minimum":0},{"type":"null"}],"title":"Min Vaf"}},{"name":"max_vaf","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":1,"minimum":0},{"type":"null"}],"title":"Max Vaf"}},{"name":"sv_only","in":"query","required":false,"schema":{"type":"boolean","description":"Return only rows whose canonical sv_type is non-null","default":false,"title":"Sv Only"},"description":"Return only rows whose canonical sv_type is non-null"},{"name":"sv_group","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(del|dup|other)$"},{"type":"null"}],"title":"Sv Group"}},{"name":"sv_query","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Sv Query"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Results per page","default":50,"title":"Page Size"},"description":"Results per page"},{"name":"sort_by","in":"query","required":false,"schema":{"type":"string","description":"Sort column","default":"priority_score","title":"Sort By"},"description":"Sort column"},{"name":"sort_order","in":"query","required":false,"schema":{"type":"string","description":"Sort order (ASC/DESC)","default":"DESC","title":"Sort Order"},"description":"Sort order (ASC/DESC)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariantQueryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/variants/by-gene":{"get":{"tags":["variants"],"summary":"Get variants grouped by gene","description":"Returns variants aggregated by gene with summary statistics","operationId":"get_variants_by_gene_sessions__session_id__variants_by_gene_get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"acmg_class","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Filter by ACMG classifications","title":"Acmg Class"},"description":"Filter by ACMG classifications"},{"name":"impact","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Filter by impact levels","title":"Impact"},"description":"Filter by impact levels"},{"name":"gene_symbol","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by gene symbol (partial match)","title":"Gene Symbol"},"description":"Filter by gene symbol (partial match)"},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"description":"Page number (optional, returns all if not provided)","title":"Page"},"description":"Page number (optional, returns all if not provided)"},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":10000,"minimum":1},{"type":"null"}],"description":"Genes per page (optional)","title":"Page Size"},"description":"Genes per page (optional)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneAggregatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/variants/sv-presence":{"get":{"tags":["variants"],"summary":"Check for structural variants","description":"Check whether the complete session contains an SV-typed row","operationId":"get_sv_presence_sessions__session_id__variants_sv_presence_get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SvPresenceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/variants/{variant_idx}":{"get":{"tags":["variants"],"summary":"Get variant details","description":"Get detailed information for a specific variant","operationId":"get_variant_detail_sessions__session_id__variants__variant_idx__get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"variant_idx","in":"path","required":true,"schema":{"type":"integer","title":"Variant Idx"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariantDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/variants/statistics/summary":{"get":{"tags":["variants"],"summary":"Get variant statistics","description":"Get aggregated statistics about variants","operationId":"get_variant_statistics_sessions__session_id__variants_statistics_summary_get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"acmg_class","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Filter by ACMG classifications","title":"Acmg Class"},"description":"Filter by ACMG classifications"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariantStatisticsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/variants/{variant_idx}/transcripts":{"get":{"tags":["variants"],"summary":"Get Transcript Annotations","operationId":"get_transcript_annotations_sessions__session_id__variants__variant_idx__transcripts_get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"variant_idx","in":"path","required":true,"schema":{"type":"integer","title":"Variant Idx"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/qc":{"post":{"tags":["qc"],"summary":"Run QC checks","description":"Run quality control checks on analysis session","operationId":"run_qc_checks_sessions__session_id__qc_post","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QCCheckRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QCMetricsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/qc/variant-metrics":{"get":{"tags":["qc"],"summary":"Descriptive QC of stored variant records","operationId":"get_variant_metrics_sessions__session_id__qc_variant_metrics_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariantQCResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/preprocessing/databases":{"get":{"tags":["preprocessing","admin"],"summary":"Get All Databases Status","description":"Get complete status of all reference databases.\n\nReturns identity, source files, parquet conversion, reference_db loading,\nfreshness assessment, and validation results for each database.\n\nFast endpoint (< 2 seconds): filesystem stat() calls + one DuckDB query.","operationId":"get_all_databases_status_preprocessing_databases_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllDatabasesStatusResponse"}}}}}}},"/preprocessing/databases/{db_name}":{"get":{"tags":["preprocessing","admin"],"summary":"Get Single Database Status","description":"Get detailed status of a single database.\n\nIncludes everything from the list endpoint plus:\n- Per-chromosome row counts (for partitioned databases)\n- Column names in the DuckDB table\n- Sample data (first 5 rows)\n- Full conversion metadata JSON","operationId":"get_single_database_status_preprocessing_databases__db_name__get","parameters":[{"name":"db_name","in":"path","required":true,"schema":{"type":"string","title":"Db Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatabaseDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/preprocessing/databases/{db_name}/update":{"post":{"tags":["preprocessing","admin"],"summary":"Update Single Database","description":"Start the update pipeline for a single database.\n\nReturns immediately with task_id. Poll GET /preprocessing/tasks/{task_id}\nfor progress.","operationId":"update_single_database_preprocessing_databases__db_name__update_post","parameters":[{"name":"db_name","in":"path","required":true,"schema":{"type":"string","title":"Db Name"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDatabaseRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskCreatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/preprocessing/update-all":{"post":{"tags":["preprocessing","admin"],"summary":"Update All Databases","description":"Start the full preprocessing pipeline for all (or selected) databases.\n\nProcesses databases in priority order. Equivalent to the legacy\nPOST /preprocessing/start endpoint.","operationId":"update_all_databases_preprocessing_update_all_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAllRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskCreatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/preprocessing/rebuild-reference-db":{"post":{"tags":["preprocessing","admin"],"summary":"Rebuild Reference Db","description":"Rebuild reference_db.duckdb from existing parquet files.\n\nDoes NOT re-download or re-convert. Creates a fresh DuckDB file\nfrom all available parquet data with atomic replacement.\n\nWARNING: Reference database is temporarily unavailable during rebuild.\nActive analysis sessions may fail.","operationId":"rebuild_reference_db_preprocessing_rebuild_reference_db_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RebuildReferenceDBRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskCreatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/preprocessing/tasks/{task_id}":{"get":{"tags":["preprocessing","admin"],"summary":"Get Task Status","description":"Get detailed progress for a running or completed task.","operationId":"get_task_status_preprocessing_tasks__task_id__get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskStatusSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/preprocessing/tasks":{"get":{"tags":["preprocessing","admin"],"summary":"List Tasks","description":"Get status of all preprocessing tasks (running and historical).","operationId":"list_tasks_preprocessing_tasks_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskListResponse"}}}}}}},"/preprocessing/vep-cache/stats":{"get":{"tags":["preprocessing","admin"],"summary":"Get Vep Cache Stats","description":"Get aggregated statistics for the VEP annotation cache.\n\nRead-only endpoint. Opens vep_cache.duckdb with read_only=True.\nDoes not acquire any locks -- safe during concurrent pipeline runs.\nTypical response time: < 1 second for ~50M rows.","operationId":"get_vep_cache_stats_preprocessing_vep_cache_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VepCacheStatsResponse"}}}}}}},"/preprocessing/vep-cache/search":{"get":{"tags":["preprocessing","admin"],"summary":"Search Vep Cache","description":"Search the VEP annotation cache by variant coordinates or gene symbol.\n\nTwo modes:\n- Variant lookup: provide chromosome + position (optionally ref + alt)\n- Gene search: provide gene symbol\n\nAll queries use parameterized SQL (B1). Read-only, no locks.","operationId":"search_vep_cache_preprocessing_vep_cache_search_get","parameters":[{"name":"chromosome","in":"query","required":false,"schema":{"type":"string","title":"Chromosome"}},{"name":"position","in":"query","required":false,"schema":{"type":"integer","title":"Position"}},{"name":"ref","in":"query","required":false,"schema":{"type":"string","title":"Ref"}},{"name":"alt","in":"query","required":false,"schema":{"type":"string","title":"Alt"}},{"name":"gene","in":"query","required":false,"schema":{"type":"string","title":"Gene"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VepCacheSearchResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/notes":{"get":{"tags":["notes"],"summary":"List notes","description":"List notes for a case, optionally filtered by variant.","operationId":"list_notes_sessions__session_id__notes_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"variant_idx","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Filter by variant index","title":"Variant Idx"},"description":"Filter by variant index"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotesListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["notes"],"summary":"Add note","description":"Add a note to a case or variant. Append-only, no edit/delete.","operationId":"create_note_sessions__session_id__notes_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateNoteRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/notes/{note_id}":{"put":{"tags":["notes"],"summary":"Update note","description":"Update a note. Only the author can update.","operationId":"update_note_sessions__session_id__notes__note_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"note_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Note Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateNoteRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["notes"],"summary":"Delete note","description":"Delete a note. Only the author can delete.","operationId":"delete_note_sessions__session_id__notes__note_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"note_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Note Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/overrides":{"get":{"tags":["overrides"],"summary":"List overridden variants","description":"List all overridden variants for a session.","operationId":"list_overrides_sessions__session_id__overrides_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"variant_idx","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Filter by variant index","title":"Variant Idx"},"description":"Filter by variant index"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OverridesListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["overrides"],"summary":"Reclassify variant","description":"Reclassify a variant with clinical justification.\n\nFirst override: acmg_class_original is set to pipeline_class from request.\nSubsequent override: original is preserved (pipeline_class ignored).","operationId":"create_override_sessions__session_id__overrides_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOverrideRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OverrideResultResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/overrides/{variant_idx}":{"delete":{"tags":["overrides"],"summary":"Revert to original classification","description":"Revert a variant to its pipeline-assigned ACMG classification.","operationId":"revert_override_sessions__session_id__overrides__variant_idx__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"variant_idx","in":"path","required":true,"schema":{"type":"integer","title":"Variant Idx"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OverrideResultResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/clinvar-lite/suggestions/{variant_idx}":{"get":{"tags":["clinvar-export"],"summary":"Get Export Suggestions","operationId":"get_export_suggestions_sessions__session_id__clinvar_lite_suggestions__variant_idx__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"variant_idx","in":"path","required":true,"schema":{"type":"integer","title":"Variant Idx"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClinVarExportSuggestions"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/clinvar-lite/export":{"post":{"tags":["clinvar-export"],"summary":"Export one expert-reviewed variant as a ClinVar Lite package","description":"Create, but never submit, a ClinVar Lite package for manual review.","operationId":"export_reviewed_variant_sessions__session_id__clinvar_lite_export_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClinVarLiteExportRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClinVarLiteExportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/variants/{variant_idx}/mtdna-curation":{"patch":{"tags":["mtdna-curation"],"summary":"Update mtDNA curation evidence","description":"Update mtDNA curation fields with partial-update semantics.\n\nMirrors override pattern (CR-HELENA-MUTABLE-STATE-001):\n  - Writes only to PostgreSQL variant_annotations.\n  - Read paths apply evaluator overlay to compute effective\n    classification.\n\nAtomic semantics (addendum B3 / Option B): audit emit happens BEFORE\ndb.commit. If audit fails, the PostgreSQL transaction is rolled back\nand the client receives HTTP 500. The geneticist retries; no silent\nstate corruption.","operationId":"update_mtdna_curation_sessions__session_id__variants__variant_idx__mtdna_curation_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"variant_idx","in":"path","required":true,"schema":{"type":"integer","title":"Variant Idx"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCurationRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CurationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["mtdna-curation"],"summary":"Get current mtDNA curation","description":"Read current mtDNA curation + evaluator overlay. No audit emission.\n\nPipeline acmg_class / acmg_criteria are resolved server-side from the\nsession DuckDB raw_variants table (HELIX-CR-2026-MTDNA: replaces the\nearlier \"frontend composes\" pattern). Failure to read DuckDB returns\n(None, None) and is treated as non-fatal degradation -- curation\nfields and evaluator overlay remain valid response components.","operationId":"get_mtdna_curation_sessions__session_id__variants__variant_idx__mtdna_curation_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"variant_idx","in":"path","required":true,"schema":{"type":"integer","title":"Variant Idx"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CurationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["mtdna-curation"],"summary":"Clear all mtDNA curation evidence","description":"Clear all 13 mt_* curation data fields + 3 attribution fields.\n\nSoft-clear semantics (mirror clear_acmg_override):\n  - Row had only curation: row deleted.\n  - Row also has flag/override: NULL the mt_* columns; row retained.\n\nAudit severity: CRITICAL (destructive operation).","operationId":"clear_mtdna_curation_sessions__session_id__variants__variant_idx__mtdna_curation_delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"variant_idx","in":"path","required":true,"schema":{"type":"integer","title":"Variant Idx"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CurationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/variants/{variant_idx}/mtdna-curation/preview":{"post":{"tags":["mtdna-curation"],"summary":"Preview curation evaluation without saving","description":"Pure-function preview. Does NOT write to DB. Does NOT emit audit.\n\nUsed by frontend for live UI feedback as the geneticist fills in the\ncuration form. Org boundary still enforced (session must belong to\nuser's org) to prevent reconnaissance.","operationId":"preview_mtdna_curation_sessions__session_id__variants__variant_idx__mtdna_curation_preview_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"variant_idx","in":"path","required":true,"schema":{"type":"integer","title":"Variant Idx"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MtdnaCurationFields"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CurationStateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/review-board":{"get":{"tags":["review-board"],"summary":"List review board","description":"List all starred variants for a case. Any organization member can view.","operationId":"list_review_board_sessions__session_id__review_board_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviewBoardListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["review-board"],"summary":"Star variant","description":"Add a variant to the review board. Case owner only.","operationId":"star_variant_sessions__session_id__review_board_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StarVariantRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviewBoardItemResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/review-board/{variant_idx}":{"delete":{"tags":["review-board"],"summary":"Unstar variant","description":"Remove a variant from the review board. Case owner only.","operationId":"unstar_variant_sessions__session_id__review_board__variant_idx__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"variant_idx","in":"path","required":true,"schema":{"type":"integer","title":"Variant Idx"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/reprocess-eligibility":{"get":{"tags":["reprocess"],"summary":"Reprocess Eligibility","operationId":"reprocess_eligibility_sessions__session_id__reprocess_eligibility_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/reprocess":{"post":{"tags":["reprocess"],"summary":"Reprocess session","description":"Re-annotate and re-classify an existing completed session (all phases)","operationId":"reprocess_session_sessions__session_id__reprocess_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReprocessSessionRequest","default":{"reclassify":true,"regenerate_summaries":true}}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReprocessSessionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/backup":{"post":{"tags":["backup"],"summary":"Start a new backup","description":"Start a new platform backup.\n\nLaunches backup as a background task. Poll\n/backup/status/{backup_id} for progress.\n\nRequires admin role. Only one operation can run at a time.","operationId":"start_backup_api_v1_admin_backup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartBackupRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartBackupResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/admin/backup/status/{backup_id}":{"get":{"tags":["backup"],"summary":"Get backup or restore status","description":"Poll backup/restore execution status.\n\nReturns current progress, step name, and any error.\nWorks for both backup_id and restore_id.\nAccessible to all authenticated users.","operationId":"get_backup_status_api_v1_admin_backup_status__backup_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"backup_id","in":"path","required":true,"schema":{"type":"string","title":"Backup Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackupStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/backups":{"get":{"tags":["backup"],"summary":"List all backups","description":"List all existing backups with summary information.\n\nReturns backups sorted by creation date (newest first).\nAccessible to all authenticated users.","operationId":"list_backups_api_v1_admin_backups_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackupListResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/admin/backup/{backup_id}":{"delete":{"tags":["backup"],"summary":"Delete a backup","description":"Delete a backup from disk.\n\nCannot delete a currently running backup.\nRequires admin role.","operationId":"delete_backup_api_v1_admin_backup__backup_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"backup_id","in":"path","required":true,"schema":{"type":"string","title":"Backup Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteBackupResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/backup/{backup_id}/restore":{"post":{"tags":["backup"],"summary":"Restore from a backup","description":"Restore platform from a backup.\n\nDESTRUCTIVE OPERATION:\n- Overwrites current PostgreSQL data\n- Replaces session outputs\n- Replaces literature/reference databases (if present in backup)\n\nSafety measures:\n- confirm_backup_id must match the URL backup_id\n- A pre-restore quick backup is created automatically\n- Only successful backups can be restored\n\nRequires admin role. Only one operation can run at a time.","operationId":"restore_backup_api_v1_admin_backup__backup_id__restore_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"backup_id","in":"path","required":true,"schema":{"type":"string","title":"Backup Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestoreBackupRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestoreStartedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/findings":{"get":{"tags":["findings"],"summary":"Get P/LP variant findings","description":"Return Pathogenic and Likely Pathogenic variants for a session from DuckDB","operationId":"get_session_findings_sessions__session_id__findings_get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Session Findings Sessions  Session Id  Findings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/variants/lookup":{"get":{"tags":["findings"],"summary":"Lookup variant_idx by genomic coordinates","description":"Resolve variant_idx from chromosome, position, ref, alt. Used for cross-session navigation.","operationId":"lookup_variant_sessions__session_id__variants_lookup_get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"chromosome","in":"query","required":true,"schema":{"type":"string","title":"Chromosome"}},{"name":"position","in":"query","required":true,"schema":{"type":"integer","title":"Position"}},{"name":"ref","in":"query","required":true,"schema":{"type":"string","title":"Ref"}},{"name":"alt","in":"query","required":true,"schema":{"type":"string","title":"Alt"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Lookup Variant Sessions  Session Id  Variants Lookup Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/variants/{variant_idx}/flag":{"post":{"tags":["flagging"],"summary":"Flag a variant with a comment","description":"Flag a variant for review by the platform operator.\n\nPersists flag in PostgreSQL variant_annotations table (upsert).\nEmits variant.flagged audit event. Sends detailed email to operator.","operationId":"flag_variant_sessions__session_id__variants__variant_idx__flag_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"variant_idx","in":"path","required":true,"schema":{"type":"integer","title":"Variant Idx"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlagVariantRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlagVariantResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["flagging"],"summary":"Unflag a variant","description":"Remove flag from a variant.\n\nClears flag fields in PostgreSQL. If no other annotation remains\n(override), the row is deleted. Emits variant.unflagged audit event.","operationId":"unflag_variant_sessions__session_id__variants__variant_idx__flag_delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"variant_idx","in":"path","required":true,"schema":{"type":"integer","title":"Variant Idx"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlagVariantResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/variants/discordance-analysis":{"post":{"tags":["discordance"],"summary":"Run classification discordance analysis","description":"Scans classified variants for internal inconsistencies, ClinVar disagreements, predictor conflicts, criteria anomalies, frequency conflicts, constraint mismatches, and inheritance mode issues. Platform admin only. Read-only.","operationId":"run_discordance_analysis_sessions__session_id__variants_discordance_analysis_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscordanceRequest","default":{"max_results_per_check":100}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscordanceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/carriers":{"get":{"tags":["Carrier Status"],"summary":"Get carrier status findings","description":"Return healthy carrier findings for a session.\n\n    Carrier types:\n    - AR_CARRIER: Heterozygous P/LP in autosomal recessive gene (not compound het)\n    - XL_CARRIER: Female heterozygous P/LP in X-linked recessive gene\n\n    Results are pre-computed by Stage 6 (Reproductive Risk Annotation)\n    in the variant analysis pipeline. This endpoint reads from DuckDB.\n\n    Use force=true to re-run detection.","operationId":"get_carrier_status_sessions__session_id__carriers_get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"force","in":"query","required":false,"schema":{"type":"boolean","description":"Force re-run of carrier detection","default":false,"title":"Force"},"description":"Force re-run of carrier detection"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CarrierResponseSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/recurrence-risk":{"get":{"tags":["Recurrence Risk"],"summary":"Get AD recurrence risk findings","description":"Return autosomal dominant recurrence risk findings for a session.\n\n    Identifies P/LP heterozygous variants in AD-only genes with 50%\n    transmission probability to offspring.\n\n    This is NOT carrier status. AD heterozygotes are potentially affected\n    individuals, not healthy carriers (ACMG terminology).\n\n    Results are pre-computed by Stage 6 (Reproductive Risk Annotation).\n    Use force=true to re-run detection.","operationId":"get_recurrence_risk_sessions__session_id__recurrence_risk_get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"force","in":"query","required":false,"schema":{"type":"boolean","description":"Force re-run of AD risk detection","default":false,"title":"Force"},"description":"Force re-run of AD risk detection"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdRiskResponseSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/simulation/run":{"post":{"tags":["simulation"],"summary":"Start CR simulation","description":"Start a CR simulation subprocess.\n\nResolves session IDs via session-orchestration, writes them to a temp file,\nlaunches simulate_cr_template.py as subprocess. One simulation at a time.\n\nHELENA-PLATFORM-SIM-001","operationId":"run_simulation_api_v1_simulation_run_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunSimulationRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimulationStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/simulation/status":{"get":{"tags":["simulation"],"summary":"Get simulation status","description":"Poll current simulation status.\n\nStatus determination (priority order):\n    CLAUSE 1: No state           -> idle\n    CLAUSE 2: Cancelled flag set -> cancelled (terminal)\n    CLAUSE 3: Proc finished + success + JSON -> completed\n    CLAUSE 4: Proc finished + other          -> failed\n    CLAUSE 5: Proc running + cancelling flag -> cancelling (transient)\n    CLAUSE 6: Proc running                   -> running\n\nHELENA-PLATFORM-SIM-001\nCR-2026-SIMVIEW-CANCEL-001: cancelled + cancelling states added.","operationId":"get_simulation_status_api_v1_simulation_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimulationStatusResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/simulation/cancel":{"post":{"tags":["simulation"],"summary":"Cancel running simulation","description":"Initiate cancellation of running simulation.\n\nNon-blocking: sends SIGTERM and returns immediately with status='cancelling'.\nBackground watcher handles graceful shutdown (up to 30s grace period) and\nfalls back to SIGKILL if subprocess does not respond. Status endpoint\nreturns 'cancelling' during grace period, 'cancelled' after subprocess exits.\n\nCR-2026-SIMVIEW-CANCEL-001","operationId":"cancel_simulation_api_v1_simulation_cancel_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimulationStatusResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/platform/settings":{"get":{"tags":["platform-settings"],"summary":"List platform-admin settings (effective value + default + override)","description":"List every declared setting with its baked default, current effective\nvalue, type, apply-semantics, clinical-relevant marker, and -- when an\noverride is in force -- the override audit fields.","operationId":"list_settings_api_v1_platform_settings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingsListResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/platform/settings/{key}":{"put":{"tags":["platform-settings"],"summary":"Set a platform-admin setting override","description":"Set an override for a declared setting. Validates the value server-side\nagainst the descriptor; an invalid value is REJECTED with 422 -- never\ncoerced (R6). On success the override row is UPSERTed and COMMITTED, THEN\nthe central AuditEvent is emitted (durable row before fail-open emit).","operationId":"update_setting_api_v1_platform_settings__key__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSettingRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["platform-settings"],"summary":"Clear a platform-admin setting override (revert to baked default)","description":"Clear an override: DELETE the row so the key resolves to its baked\ndefault again (R4). Writes the audit row+emit; the new value is the baked\ndefault. Idempotent when no row exists.","operationId":"clear_setting_api_v1_platform_settings__key__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/reclassification/run":{"post":{"tags":["reclassification"],"summary":"Start reclassification","description":"Start a reclassification subprocess (reclassify mode only).\n\nRequires confirm=true in request body as safety guard -- this operation\nmodifies production DuckDB files and sends notification emails.\n\nHELENA-PLATFORM-RERUN-001 + HELIX-CR-2026-095-A.","operationId":"run_reclassification_api_v1_reclassification_run_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunReclassificationRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReclassificationStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/reclassification/status":{"get":{"tags":["reclassification"],"summary":"Get currently-running reclassification status","description":"Poll the most recent in-memory reclassification status.\n\nBackwards-compatible with HELENA-PLATFORM-RERUN-001 frontend polling.\nPG-backed history is exposed via GET /runs (see CR-095-A).","operationId":"get_reclassification_status_api_v1_reclassification_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReclassificationStatusResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/reclassification/runs":{"get":{"tags":["reclassification"],"summary":"List past reclassification runs (paginated)","operationId":"list_runs_api_v1_reclassification_runs_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(running|completed|failed)$"},{"type":"null"}],"title":"Status"}},{"name":"organization_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Organization Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReclassificationRunListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/reclassification/runs/{run_id}":{"get":{"tags":["reclassification"],"summary":"Get reclassification run detail","operationId":"get_run_api_v1_reclassification_runs__run_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReclassificationRunDetailSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["reclassification"],"summary":"Hard-delete a reclassification run + filesystem artifacts","operationId":"delete_run_api_v1_reclassification_runs__run_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/reclassification/runs/{run_id}/log":{"get":{"tags":["reclassification"],"summary":"Stream run log (storage-first / compute-fallback)","operationId":"get_run_log_api_v1_reclassification_runs__run_id__log_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/reclassification/runs/{run_id}/summary.csv":{"get":{"tags":["reclassification"],"summary":"Per-session summary CSV (storage-first / compute-fallback)","operationId":"get_run_summary_csv_api_v1_reclassification_runs__run_id__summary_csv_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/reclassification/sessions/{session_id}/upgrade-report":{"get":{"tags":["reclassification"],"summary":"Per-session classifier upgrade report (clinical review)","description":"Return parsed JSON content of classifier_upgrade_report.json for a\nsession. Resolved storage-first via path_utils.","operationId":"get_session_upgrade_report_api_v1_reclassification_sessions__session_id__upgrade_report_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/classifier/version":{"get":{"tags":["classifier"],"summary":"Get Classifier Version","description":"Return the currently deployed classifier version and changelog label.","operationId":"get_classifier_version_api_v1_classifier_version_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassifierVersionResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/vcf/validate-multisample":{"post":{"tags":["families"],"summary":"Parse multi-sample VCF header","description":"Parse VCF header and return list of sample names.\n\nUsage: User uploads joint VCF, frontend calls this endpoint to discover\nsample names, then presents sample -> role mapping UI before final ingestion.\n\nEpic 1 scope: backend detection only. Auto-inference of roles deferred to\nEpic 4-5 (UI-driven).","operationId":"validate_multisample_vcf_api_v1_vcf_validate_multisample_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VcfValidateMultisampleRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VcfValidateMultisampleResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/families/from-joint-vcf":{"post":{"tags":["families"],"summary":"Create family + sessions from joint VCF (atomic)","description":"Atomically create family + N sessions from joint VCF.\n\nFlow:\n1. Parse VCF header to get actual sample names\n2. Validate user-provided sample_role_mapping against actual samples\n   (Case A/B/C/D per CR NB-6)\n3. Call SO atomic endpoint POST /internal/families/with-sessions\n4. Return family + session IDs\n\nAtomicity guaranteed by SO transaction layer (Jules point 4).\n\nHEL-CR-FAMILY-EPIC-1-001","operationId":"create_family_from_joint_vcf_api_v1_families_from_joint_vcf_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFamilyFromJointVcfRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FamilyFromJointVcfResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/families/from-separate-vcfs":{"post":{"tags":["families"],"summary":"Create family + sessions from individual single-sample VCFs (atomic)","description":"Atomically create family + N sessions from individual single-sample VCFs.\n\nFlow:\n1. Validate inheritance_hypothesis, family_role, affected_status per member.\n2. For each member: parse VCF header to confirm single-sample (reject\n   multi-sample VCFs with 400 + redirect to /families/from-joint-vcf).\n3. Build session_specs with vcf_sample_name extracted from each VCF\n   (single sample per file). vcf_mode set to \"separate\" via metadata.\n4. Call SO atomic endpoint POST /internal/families/with-sessions.\n5. Return family + session_ids.\n\nAtomicity guaranteed by SO transaction layer.\n\nHELIX-CR-2026-FAMILY-FRONTEND-001 Phase 3-B.","operationId":"create_family_from_separate_vcfs_api_v1_families_from_separate_vcfs_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFamilyFromSeparateVcfsRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FamilyFromJointVcfResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/internal/sessions/{session_id}/annotations":{"get":{"tags":["internal"],"summary":"List all annotations for a session (internal)","description":"Return all user annotations for a session.\n\nNo JWT auth — protected by shared secret via X-Internal-Service-Token\nheader. Consumed by ai-service (reports), family-analysis, and\nother internal services that need merged views over DuckDB pipeline\ndata + PostgreSQL user annotations.","operationId":"get_session_annotations_internal_sessions__session_id__annotations_get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"X-Internal-Service-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Internal-Service-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionAnnotationsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/transcript-representations":{"post":{"tags":["internal"],"summary":"Map Transcript Representations","operationId":"map_transcript_representations_internal_transcript_representations_post","parameters":[{"name":"X-Internal-Service-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Internal-Service-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranscriptMappingRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/disease-contexts":{"post":{"tags":["internal"],"summary":"Disease Contexts","operationId":"disease_contexts_internal_disease_contexts_post","parameters":[{"name":"X-Internal-Service-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Internal-Service-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiseaseContextRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/reclassification/runs/{run_id}/storage-paths":{"patch":{"tags":["internal"],"summary":"Update storage paths post-migration (internal)","description":"Set log_storage_path + results_storage_path on a reclassification run.\n\nCalled by SO migration worker after successful rsync compute -> storage.\nIdempotent: repeated calls with same paths produce same DB state.\n\nReturns:\n    204 No Content on success.\n    404 if run_id not found.","operationId":"update_storage_paths_internal_reclassification_runs__run_id__storage_paths_patch","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"X-Internal-Service-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Internal-Service-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalUpdateStoragePathsRequest"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/reclassification/runs/stuck-migrations":{"get":{"tags":["internal"],"summary":"List runs with stale completed status awaiting migration (internal)","description":"Return run IDs that need re-migration.\n\nUsed by SO recovery beat task (storage.recovery_orphan_reclassification_migrations).","operationId":"list_stuck_migrations_internal_reclassification_runs_stuck_migrations_get","parameters":[{"name":"older_than_minutes","in":"query","required":false,"schema":{"type":"integer","maximum":1440,"minimum":1,"description":"Threshold for finished_at age. Runs in completed state with NULL log_storage_path AND finished_at older than this many minutes are returned.","default":30,"title":"Older Than Minutes"},"description":"Threshold for finished_at age. Runs in completed state with NULL log_storage_path AND finished_at older than this many minutes are returned."},{"name":"X-Internal-Service-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Internal-Service-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StuckMigrationsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/platform/atlas":{"get":{"tags":["platform-admin-atlas"],"summary":"Dashboard","description":"Return a fresh read-only view of every active Atlas-related asset.","operationId":"dashboard_api_v1_platform_atlas_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Dashboard Api V1 Platform Atlas Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/reference/cytoband/{chrom}":{"get":{"tags":["reference"],"summary":"Get cytoband ideogram bands for a chromosome","description":"Return the UCSC cytoBandIdeo cytogenetic-band list for a chromosome, sorted by\n    start_pos, for the SV ideogram lane.\n\n    Accepts chr11 or 11; coordinates are returned AS PUBLISHED (UCSC 0-based half-open;\n    see coord_system). arm is the None-safe leading char of band_name (p/q, or None).\n\n    Degrade-clean: an unknown/garbage chrom, or a reference_db built before the cytoband\n    asset loaded, returns 200 with bands: [] -- never a 4xx/5xx.","operationId":"get_cytoband_reference_cytoband__chrom__get","parameters":[{"name":"chrom","in":"path","required":true,"schema":{"type":"string","title":"Chrom"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CytobandResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/browser/reference":{"get":{"tags":["browser"],"summary":"Bounded GRCh38 reference and MANE translation window","description":"Return the mounted GRCh38 bases and one overlapping MANE coding model.\n\nThis is an authenticated, org-scoped and strictly bounded read-only surface.\nIt is intentionally unavailable above base-level zoom so a pan cannot turn\ninto an unbounded reference transfer.","operationId":"get_browser_reference_sessions__session_id__browser_reference_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"chrom","in":"query","required":true,"schema":{"type":"string","description":"Chromosome (bare or chr-prefixed)","title":"Chrom"},"description":"Chromosome (bare or chr-prefixed)"},{"name":"start","in":"query","required":true,"schema":{"type":"integer","minimum":1,"description":"1-based inclusive window start","title":"Start"},"description":"1-based inclusive window start"},{"name":"end","in":"query","required":true,"schema":{"type":"integer","minimum":1,"description":"1-based inclusive window end","title":"End"},"description":"1-based inclusive window end"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrowserReferenceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/browser/region":{"get":{"tags":["browser"],"summary":"Region read for the genome browser","description":"All session features (snvs, svs, genes, regions) overlapping [start, end] on chrom.","operationId":"get_browser_region_sessions__session_id__browser_region_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"chrom","in":"query","required":true,"schema":{"type":"string","description":"Chromosome (bare or chr-prefixed)","title":"Chrom"},"description":"Chromosome (bare or chr-prefixed)"},{"name":"start","in":"query","required":true,"schema":{"type":"integer","minimum":0,"description":"Window start (bp)","title":"Start"},"description":"Window start (bp)"},{"name":"end","in":"query","required":true,"schema":{"type":"integer","minimum":0,"description":"Window end (bp)","title":"End"},"description":"Window end (bp)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrowserRegionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/browser/gene/{symbol}":{"get":{"tags":["browser"],"summary":"Look up a MANE gene by symbol (jump-to-gene for the browser search)","description":"Return the MANE coordinates for one gene symbol, anywhere in the genome.\n\nOrg-scoped + READ-ONLY by construction (only a SELECT against the read-only\nreference_db singleton). Powers the search box's jump-to-gene: the frontend\ncalls this when a typed symbol is not among the genes in the loaded region.\n404 if the symbol is unknown to MANE.","operationId":"get_browser_gene_sessions__session_id__browser_gene__symbol__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"symbol","in":"path","required":true,"schema":{"type":"string","title":"Symbol"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrowserGeneOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/browser/variant-by-hgvs/{hgvs}":{"get":{"tags":["browser"],"summary":"Find a session variant by HGVS (jump-to-variant for the browser search)","description":"Return {chrom, pos} for a session variant identified by an HGVS string\n(genomic / cDNA / protein), regardless of the current zoom. Org-scoped +\nREAD-ONLY (a single SELECT against the session variants table). 404 if no\nsession variant matches the HGVS. The {hgvs:path} converter lets the value\ncarry characters like '>' and ':' without prior encoding concerns.","operationId":"get_browser_variant_by_hgvs_sessions__session_id__browser_variant_by_hgvs__hgvs__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"hgvs","in":"path","required":true,"schema":{"type":"string","title":"Hgvs"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Browser Variant By Hgvs Sessions  Session Id  Browser Variant By Hgvs  Hgvs  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/browser/overview":{"get":{"tags":["browser"],"summary":"Coarse whole-genome overview for the genome browser","description":"The once-per-session most-severe-first aggregate (snvs, svs, lead), capped at OVERVIEW_MAX_MARKERS.","operationId":"get_browser_overview_sessions__session_id__browser_overview_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrowserOverviewResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{session_id}/graph":{"get":{"tags":["graph"],"summary":"Pangenome graph view for a locus window","description":"The T3 compact-JSON pangenome graph (nodes, edges, paths, bubbles, meta) for [start, end] on chrom, serialized by_alias so edges emit {from, to}.","operationId":"get_pangenome_graph_view_sessions__session_id__graph_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"chrom","in":"query","required":true,"schema":{"type":"string","description":"Chromosome (bare or chr-prefixed)","title":"Chrom"},"description":"Chromosome (bare or chr-prefixed)"},{"name":"start","in":"query","required":true,"schema":{"type":"integer","minimum":0,"description":"Window start (bp)","title":"Start"},"description":"Window start (bp)"},{"name":"end","in":"query","required":true,"schema":{"type":"integer","minimum":0,"description":"Window end (bp)","title":"End"},"description":"Window end (bp)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PangenomeGraphResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AdRiskResponseSchema":{"properties":{"session_id":{"type":"string","format":"uuid","title":"Session Id"},"total_ad_risk":{"type":"integer","title":"Total Ad Risk"},"findings":{"items":{"$ref":"#/components/schemas/AdRiskResultSchema"},"type":"array","title":"Findings"}},"type":"object","required":["session_id","total_ad_risk","findings"],"title":"AdRiskResponseSchema","description":"Response with AD recurrence risk findings."},"AdRiskResultSchema":{"properties":{"variant_idx":{"type":"integer","title":"Variant Idx"},"gene_symbol":{"type":"string","title":"Gene Symbol"},"risk_type":{"type":"string","title":"Risk Type","description":"AD_RISK"},"inheritance_mode":{"type":"string","title":"Inheritance Mode"},"disease_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Disease Name"},"clinical_note":{"type":"string","title":"Clinical Note"},"recurrence_risk":{"type":"string","title":"Recurrence Risk","description":"e.g. 50% transmission probability"},"confidence":{"type":"string","title":"Confidence","description":"HIGH or MODERATE"},"acmg_class":{"type":"string","title":"Acmg Class"},"chromosome":{"type":"string","title":"Chromosome"},"position":{"type":"integer","title":"Position"},"genotype":{"type":"string","title":"Genotype"},"hgvs_protein":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hgvs Protein"},"transcript_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Transcript Id"},"transcript_representations":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Transcript Representations"},"hgvs_cdna":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hgvs Cdna"},"rsid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rsid"},"global_af":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Global Af"},"review_stars":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Review Stars"}},"type":"object","required":["variant_idx","gene_symbol","risk_type","inheritance_mode","clinical_note","recurrence_risk","confidence","acmg_class","chromosome","position","genotype"],"title":"AdRiskResultSchema","description":"Single AD recurrence risk finding."},"AllDatabasesStatusResponse":{"properties":{"reference_db":{"$ref":"#/components/schemas/ReferenceDBSummarySchema"},"databases":{"items":{"$ref":"#/components/schemas/DatabaseStatusSchema"},"type":"array","title":"Databases"}},"type":"object","required":["reference_db","databases"],"title":"AllDatabasesStatusResponse","description":"Response for GET /preprocessing/databases."},"AnnotationRecord":{"properties":{"variant_idx":{"type":"integer","title":"Variant Idx"},"is_user_flagged":{"type":"boolean","title":"Is User Flagged","default":false},"user_flag_comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Flag Comment"},"flagged_by":{"anyOf":[{"$ref":"#/components/schemas/UserAttribution"},{"type":"null"}]},"acmg_override_class":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Acmg Override Class"},"acmg_class_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Acmg Class Original"},"override_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Override Reason"},"overridden_by":{"anyOf":[{"$ref":"#/components/schemas/UserAttribution"},{"type":"null"}]}},"type":"object","required":["variant_idx"],"title":"AnnotationRecord","description":"A single variant annotation (flag, override, or both)."},"Association":{"properties":{"geneSymbol":{"type":"string","title":"Genesymbol"},"hgncId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hgncid"},"diseaseName":{"type":"string","title":"Diseasename"},"diseaseId":{"type":"string","title":"Diseaseid"},"modeOfInheritance":{"type":"string","title":"Modeofinheritance"},"modeOfInheritanceId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Modeofinheritanceid"},"classification":{"type":"string","title":"Classification"},"expertPanel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expertpanel"},"reportUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reporturl"},"classificationDate":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Classificationdate"},"sopVersion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sopversion"}},"additionalProperties":false,"type":"object","required":["geneSymbol","hgncId","diseaseName","diseaseId","modeOfInheritance","modeOfInheritanceId","classification","expertPanel","reportUrl","classificationDate","sopVersion"],"title":"Association"},"BackupLevel":{"type":"string","enum":["quick","full","complete"],"title":"BackupLevel","description":"Backup level enumeration."},"BackupListResponse":{"properties":{"backups":{"items":{"$ref":"#/components/schemas/BackupSummary"},"type":"array","title":"Backups"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["backups","total"],"title":"BackupListResponse","description":"Response listing all backups."},"BackupStatus":{"type":"string","enum":["started","running","completed","failed"],"title":"BackupStatus","description":"Backup execution status."},"BackupStatusResponse":{"properties":{"backup_id":{"type":"string","title":"Backup Id"},"status":{"$ref":"#/components/schemas/BackupStatus"},"progress":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Progress","description":"Progress percentage","default":0},"current_step":{"type":"string","title":"Current Step","default":""},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["backup_id","status"],"title":"BackupStatusResponse","description":"Response for backup status polling."},"BackupSummary":{"properties":{"backup_id":{"type":"string","title":"Backup Id"},"level":{"type":"string","title":"Level"},"status":{"type":"string","title":"Status"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"},"duration_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Duration Seconds"},"total_size_bytes":{"type":"integer","title":"Total Size Bytes","default":0}},"type":"object","required":["backup_id","level","status"],"title":"BackupSummary","description":"Summary of a single backup."},"BrowserExonPextOut":{"properties":{"chrom":{"type":"string","title":"Chrom"},"gene":{"type":"string","title":"Gene"},"exonStart":{"type":"integer","title":"Exonstart"},"exonEnd":{"type":"integer","title":"Exonend"},"maxTissuePext":{"type":"number","title":"Maxtissuepext"},"meanPext":{"type":"number","title":"Meanpext"},"brainCortexPext":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Braincortexpext"},"wholeBloodPext":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Wholebloodpext"},"tier":{"type":"string","title":"Tier"}},"type":"object","required":["chrom","gene","exonStart","exonEnd","maxTissuePext","meanPext","tier"],"title":"BrowserExonPextOut","description":"A per-exon pext marker (frontend BrowserExonPext).\n\nCR-2026-BROWSER-EVIDENCE-TRACKS-001-P2 (Wave 1, Phase 2): a NEW pext-lane\nsource read from the read-only reference_db table exon_pext (gnomAD v4.1 /\nGTEx v10 per-exon expression proportion). Wire names are camelCase (the\nexisting svType / iscaId convention). The per-field types follow EXON_PEXT_\nDDL (registry/exon_pext.py): chromosome / gene_symbol VARCHAR -> str;\nexon_start / exon_end BIGINT -> int; max_tissue_pext / mean_pext FLOAT NOT\nNULL -> float; brain_cortex_pext / whole_blood_pext FLOAT nullable ->\nOptional[float]. tier is DERIVED server-side from maxTissuePext via\n_pext_tier using the classifier's exact PVS1 cut (acmg_classifier.py\nL5155-5160): one of 'full' | 'downgrade' | 'block' (CR Section 2.3)."},"BrowserGeneOut":{"properties":{"chrom":{"type":"string","title":"Chrom"},"symbol":{"type":"string","title":"Symbol"},"start":{"type":"integer","title":"Start"},"end":{"type":"integer","title":"End"},"strand":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Strand"},"exons":{"items":{"type":"integer"},"type":"array","title":"Exons","default":[]}},"type":"object","required":["chrom","symbol","start","end"],"title":"BrowserGeneOut","description":"A gene model from MANE (frontend BrowserGene).\n\nMANE carries the CDS envelope (cds_start, cds_end), not a per-exon model,\nso exons is returned as an empty array (a recorded Section 6 limitation;\nthe frontend Panel tolerates an empty exons array)."},"BrowserLeadOut":{"properties":{"chrom":{"type":"string","title":"Chrom"},"pos":{"type":"integer","title":"Pos"}},"type":"object","required":["chrom","pos"],"title":"BrowserLeadOut","description":"The most-severe feature locus for the initial-view frame."},"BrowserOverviewResponse":{"properties":{"snvs":{"items":{"$ref":"#/components/schemas/BrowserSnvOut"},"type":"array","title":"Snvs"},"svs":{"items":{"$ref":"#/components/schemas/BrowserSvOut"},"type":"array","title":"Svs"},"lead":{"anyOf":[{"$ref":"#/components/schemas/BrowserLeadOut"},{"type":"null"}]}},"type":"object","required":["snvs","svs"],"title":"BrowserOverviewResponse","description":"The coarse whole-genome aggregate (frontend BrowserGenomeOverview)."},"BrowserReferenceCodonOut":{"properties":{"bases":{"type":"string","title":"Bases"},"aminoAcid":{"type":"string","title":"Aminoacid"},"proteinPosition":{"type":"integer","title":"Proteinposition"},"genomicPositions":{"items":{"type":"integer"},"type":"array","title":"Genomicpositions"}},"type":"object","required":["bases","aminoAcid","proteinPosition","genomicPositions"],"title":"BrowserReferenceCodonOut"},"BrowserReferenceResponse":{"properties":{"chrom":{"type":"string","title":"Chrom"},"start":{"type":"integer","title":"Start"},"end":{"type":"integer","title":"End"},"sequence":{"type":"string","title":"Sequence"},"transcript":{"anyOf":[{"$ref":"#/components/schemas/BrowserReferenceTranscriptOut"},{"type":"null"}]}},"type":"object","required":["chrom","start","end","sequence"],"title":"BrowserReferenceResponse"},"BrowserReferenceTranscriptOut":{"properties":{"geneSymbol":{"type":"string","title":"Genesymbol"},"transcriptId":{"type":"string","title":"Transcriptid"},"proteinId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proteinid"},"strand":{"type":"string","title":"Strand"},"exons":{"items":{"items":{"type":"integer"},"type":"array"},"type":"array","title":"Exons"},"cds":{"items":{"items":{"type":"integer"},"type":"array"},"type":"array","title":"Cds"},"codons":{"items":{"$ref":"#/components/schemas/BrowserReferenceCodonOut"},"type":"array","title":"Codons"}},"type":"object","required":["geneSymbol","transcriptId","strand"],"title":"BrowserReferenceTranscriptOut"},"BrowserRegionOut":{"properties":{"chrom":{"type":"string","title":"Chrom"},"start":{"type":"integer","title":"Start"},"end":{"type":"integer","title":"End"},"axis":{"type":"string","title":"Axis"},"iscaId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Iscaid"},"score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Score"}},"type":"object","required":["chrom","start","end","axis"],"title":"BrowserRegionOut","description":"A ClinGen dosage region marker on one axis (frontend BrowserRegion)."},"BrowserRegionResponse":{"properties":{"snvs":{"items":{"$ref":"#/components/schemas/BrowserSnvOut"},"type":"array","title":"Snvs"},"svs":{"items":{"$ref":"#/components/schemas/BrowserSvOut"},"type":"array","title":"Svs"},"genes":{"items":{"$ref":"#/components/schemas/BrowserGeneOut"},"type":"array","title":"Genes"},"regions":{"items":{"$ref":"#/components/schemas/BrowserRegionOut"},"type":"array","title":"Regions"},"pext":{"items":{"$ref":"#/components/schemas/BrowserExonPextOut"},"type":"array","title":"Pext","default":[]}},"type":"object","required":["snvs","svs","genes","regions"],"title":"BrowserRegionResponse","description":"The region read payload (frontend getBrowserRegion result)."},"BrowserSnvOut":{"properties":{"chrom":{"type":"string","title":"Chrom"},"pos":{"type":"integer","title":"Pos"},"gene":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gene"},"cls":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cls"},"hgvs":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hgvs"},"ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ref"},"alt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alt"},"bayesdelNoaf":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bayesdelnoaf"},"bayesdelNoafPred":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bayesdelnoafpred"},"spliceaiMax":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Spliceaimax"},"spliceaiPred":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Spliceaipred"},"phylop":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Phylop"},"gerp":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gerp"},"alphamissense":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Alphamissense"},"sift":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sift"},"metasvm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Metasvm"},"dann":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Dann"},"mpc":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Mpc"},"af":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Af"},"afGrpmax":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Afgrpmax"},"popmax":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Popmax"},"hom":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Hom"},"loeuf":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Loeuf"},"misZ":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Misz"},"pli":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pli"},"clinvarSig":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clinvarsig"},"reviewStars":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Reviewstars"},"clinvarId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clinvarid"},"criteria":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Criteria"},"confidence":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Confidence"},"consequence":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Consequence"},"impact":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Impact"},"hgvsCdna":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hgvscdna"},"transcriptId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Transcriptid"},"transcriptRepresentations":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Transcriptrepresentations"},"exonNumber":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Exonnumber"},"domains":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Domains"},"pm1Source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pm1Source"},"vcepApplied":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Vcepapplied"},"vcepPanel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vceppanel"},"deNovo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Denovo"},"hiScore":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Hiscore"},"tsScore":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tsscore"}},"type":"object","required":["chrom","pos"],"title":"BrowserSnvOut","description":"A small variant marker (frontend BrowserSnv).\n\nCR-2026-BROWSER-EVIDENCE-TRACKS-001-P1 (Wave 1, Phase 1): the five\nestablished fields (chrom, pos, gene, cls, hgvs) are UNCHANGED. Below them\n35 ADDITIVE per-variant evidence fields are appended, ALL Optional with a\nNone default (a pure additive contract widening -- an old frontend ignores\nthe unknown keys, a new frontend can be built against the widened contract).\nEach field is read from the per-session `variants` table; a session whose\ntable lacks a source column degrades to None via _evidence_columns_present\n(the schema-drift guard), so every field is genuinely optional.\n\nWire names are camelCase (matching the existing svType / iscaId convention).\nThe wire-name -> `variants` source-column mapping is CR Section 3a; the\nper-field types follow the source column types in variant_schema.py\n(re-verified 2026-06-20, Eunomia B1). CRITICAL (Eunomia B1): exonNumber and\npopmax are Optional[str] -- exon_number is VARCHAR(20) carrying the VEP\n\"X/Y\" form (e.g. \"3/12\"), popmax is VARCHAR(10) carrying a population LABEL,\nNOT a number; typing either as int would raise a Pydantic ValidationError\n-> 500 on a real coding-gene window, which the frontend degrade-clean\nhandler masks as a silently-empty browser."},"BrowserSvOut":{"properties":{"chrom":{"type":"string","title":"Chrom"},"start":{"type":"integer","title":"Start"},"end":{"type":"integer","title":"End"},"svType":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Svtype"},"cls":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cls"}},"type":"object","required":["chrom","start","end"],"title":"BrowserSvOut","description":"A structural variant span marker (frontend BrowserSv)."},"Candidate":{"properties":{"identity":{"$ref":"#/components/schemas/GeneIdentity"},"match_types":{"items":{"type":"string","enum":["approved_symbol","previous_symbol","alias","stable_id","withdrawn_symbol"]},"type":"array","title":"Match Types"},"matched_terms":{"items":{"type":"string","maxLength":200,"minLength":1},"type":"array","title":"Matched Terms"}},"additionalProperties":false,"type":"object","required":["identity","match_types","matched_terms"],"title":"Candidate"},"CarrierResponseSchema":{"properties":{"session_id":{"type":"string","format":"uuid","title":"Session Id"},"total_carriers":{"type":"integer","title":"Total Carriers"},"ar_carrier_count":{"type":"integer","title":"Ar Carrier Count"},"xl_carrier_count":{"type":"integer","title":"Xl Carrier Count"},"carriers":{"items":{"$ref":"#/components/schemas/CarrierResultSchema"},"type":"array","title":"Carriers"}},"type":"object","required":["session_id","total_carriers","ar_carrier_count","xl_carrier_count","carriers"],"title":"CarrierResponseSchema","description":"Response with carrier findings."},"CarrierResultSchema":{"properties":{"variant_idx":{"type":"integer","title":"Variant Idx"},"gene_symbol":{"type":"string","title":"Gene Symbol"},"carrier_type":{"type":"string","title":"Carrier Type","description":"AR_CARRIER or XL_CARRIER"},"inheritance_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inheritance Mode"},"disease_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Disease Name"},"clinical_note":{"type":"string","title":"Clinical Note"},"confidence":{"type":"string","title":"Confidence","description":"HIGH or MODERATE"},"acmg_class":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Acmg Class"},"chromosome":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chromosome"},"position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Position"},"genotype":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Genotype"},"hgvs_protein":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hgvs Protein"},"transcript_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Transcript Id"},"transcript_representations":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Transcript Representations"},"hgvs_cdna":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hgvs Cdna"},"rsid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rsid"},"global_af":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Global Af"},"review_stars":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Review Stars"}},"type":"object","required":["variant_idx","gene_symbol","carrier_type","clinical_note","confidence"],"title":"CarrierResultSchema","description":"Single carrier finding."},"CatalogEntry":{"properties":{"gene_id":{"type":"string","pattern":"^HGNC:[1-9][0-9]*$","title":"Gene Id"},"canonical_symbol":{"type":"string","maxLength":200,"minLength":1,"title":"Canonical Symbol"}},"additionalProperties":false,"type":"object","required":["gene_id","canonical_symbol"],"title":"CatalogEntry"},"CatalogRequest":{"properties":{"request_id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,64}$","title":"Request Id"},"snapshot_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"title":"Snapshot Id"},"limit":{"type":"integer","maximum":1000.0,"minimum":1.0,"title":"Limit","default":500},"cursor":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Cursor"}},"additionalProperties":false,"type":"object","required":["request_id"],"title":"CatalogRequest"},"CatalogResponse":{"properties":{"schema_version":{"type":"string","const":"1.0","title":"Schema Version","default":"1.0"},"request_id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,64}$","title":"Request Id"},"snapshot_id":{"type":"string","pattern":"^[a-f0-9]{64}$","title":"Snapshot Id"},"count_unit":{"type":"string","const":"approved_human_hgnc_gene","title":"Count Unit","default":"approved_human_hgnc_gene"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"entries":{"items":{"$ref":"#/components/schemas/CatalogEntry"},"type":"array","maxItems":1000,"title":"Entries"},"returned":{"type":"integer","maximum":1000.0,"minimum":0.0,"title":"Returned"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"}},"additionalProperties":false,"type":"object","required":["request_id","snapshot_id","total","entries","returned","next_cursor"],"title":"CatalogResponse"},"CheckResultResponse":{"properties":{"total":{"type":"integer","title":"Total"},"critical":{"type":"integer","title":"Critical","default":0},"high":{"type":"integer","title":"High","default":0},"medium":{"type":"integer","title":"Medium","default":0},"low":{"type":"integer","title":"Low","default":0},"variants":{"items":{"$ref":"#/components/schemas/DiscordanceVariantResponse"},"type":"array","title":"Variants"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["total"],"title":"CheckResultResponse","description":"Result of one discordance check."},"ClassifierVersionResponse":{"properties":{"version":{"type":"string","title":"Version"},"label":{"type":"string","title":"Label"}},"type":"object","required":["version","label"],"title":"ClassifierVersionResponse"},"ClinVarExportSuggestions":{"properties":{"contract_version":{"type":"integer","const":2,"title":"Contract Version","default":2},"hgvs_candidates":{"items":{"type":"string"},"type":"array","title":"Hgvs Candidates"},"suggested_hgvs":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Suggested Hgvs"},"requires_hgvs_validation":{"type":"boolean","title":"Requires Hgvs Validation","default":true}},"type":"object","required":["hgvs_candidates"],"title":"ClinVarExportSuggestions"},"ClinVarLiteExportRequest":{"properties":{"variant_idx":{"type":"integer","minimum":0.0,"title":"Variant Idx"},"hgvs_name":{"type":"string","maxLength":500,"minLength":1,"title":"Hgvs Name"},"rationale":{"type":"string","maxLength":5000,"minLength":10,"title":"Rationale"},"evidence_codes":{"items":{"type":"string"},"type":"array","maxItems":50,"title":"Evidence Codes"},"mode_of_inheritance":{"type":"string","maxLength":80,"title":"Mode Of Inheritance"},"expert_review_confirmed":{"type":"boolean","title":"Expert Review Confirmed"},"hgvs_validated":{"type":"boolean","title":"Hgvs Validated"},"expected_classification":{"type":"string","enum":["P","LP","VUS","LB","B"],"title":"Expected Classification"},"condition_id_type":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"title":"Condition Id Type"},"condition_id_value":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Condition Id Value"},"preferred_condition_name":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Preferred Condition Name"},"collection_method":{"type":"string","title":"Collection Method","default":"clinical testing"},"allele_origin":{"type":"string","title":"Allele Origin","default":"germline"},"affected_status":{"type":"string","title":"Affected Status","default":"unknown"},"number_of_individuals":{"type":"integer","minimum":1.0,"title":"Number Of Individuals"},"citations":{"items":{"type":"string"},"type":"array","maxItems":100,"title":"Citations"},"gene_symbol":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Gene Symbol"},"local_id":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Local Id"},"public_url":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Public Url"},"variation_identifiers":{"items":{"type":"string"},"type":"array","maxItems":100,"title":"Variation Identifiers"},"alternate_designations":{"items":{"type":"string"},"type":"array","maxItems":100,"title":"Alternate Designations"},"clinvar_accession":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"title":"Clinvar Accession"},"record_status":{"anyOf":[{"type":"string","enum":["novel","update"]},{"type":"null"}],"title":"Record Status"}},"type":"object","required":["variant_idx","hgvs_name","rationale","mode_of_inheritance","expert_review_confirmed","hgvs_validated","expected_classification","number_of_individuals"],"title":"ClinVarLiteExportRequest","description":"Reviewed public data for one germline ClinVar Lite assertion."},"ClinVarLiteExportResponse":{"properties":{"package_name":{"type":"string","title":"Package Name"},"package_base64":{"type":"string","title":"Package Base64"},"upload_files":{"items":{"type":"string"},"type":"array","title":"Upload Files"},"manifest":{"additionalProperties":true,"type":"object","title":"Manifest"}},"type":"object","required":["package_name","package_base64","upload_files","manifest"],"title":"ClinVarLiteExportResponse","description":"Browser-downloadable ZIP plus the names of the two upload files."},"ClinicalAxis":{"properties":{"axis":{"type":"string","enum":["germline","somatic_clinical_impact","oncogenicity"],"title":"Axis"},"represented_variations":{"type":"integer","minimum":0.0,"title":"Represented Variations"},"classification_counts":{"items":{"$ref":"#/components/schemas/DistributionBin"},"type":"array","maxItems":1000,"title":"Classification Counts"},"review_status_counts":{"items":{"$ref":"#/components/schemas/DistributionBin"},"type":"array","maxItems":1000,"title":"Review Status Counts"}},"additionalProperties":false,"type":"object","required":["axis","represented_variations","classification_counts","review_status_counts"],"title":"ClinicalAxis"},"ClinicalConsequenceRecord":{"properties":{"source_id":{"type":"string","maxLength":200,"minLength":1,"title":"Source Id"},"so_id":{"type":"string","pattern":"^SO:[0-9]{7}$","title":"So Id"},"term":{"type":"string","maxLength":2000,"minLength":1,"title":"Term"},"represented_variations":{"type":"integer","minimum":1.0,"title":"Represented Variations"},"axes":{"items":{"$ref":"#/components/schemas/ClinicalAxis"},"type":"array","maxItems":3,"minItems":3,"title":"Axes"}},"additionalProperties":false,"type":"object","required":["source_id","so_id","term","represented_variations","axes"],"title":"ClinicalConsequenceRecord"},"ClinicalConsequencesData":{"properties":{"kind":{"type":"string","const":"clinical_variant_consequences","title":"Kind"},"source_id":{"type":"string","maxLength":200,"minLength":1,"title":"Source Id"},"count_unit":{"type":"string","const":"source_consequence_bin","title":"Count Unit","default":"source_consequence_bin"},"eligible_variations":{"type":"integer","minimum":0.0,"title":"Eligible Variations"},"membership_rule":{"type":"string","const":"single_native_geneinfo_unique_ncbi_crosswalk","title":"Membership Rule"},"consequence_scope":{"type":"string","const":"provider_transcript_collapsed_MC","title":"Consequence Scope"},"records":{"items":{"$ref":"#/components/schemas/ClinicalConsequenceRecord"},"type":"array","maxItems":1000,"title":"Records"}},"additionalProperties":false,"type":"object","required":["kind","source_id","eligible_variations","membership_rule","consequence_scope","records"],"title":"ClinicalConsequencesData"},"ClinicalVariantExample":{"properties":{"source_id":{"type":"string","maxLength":200,"minLength":1,"title":"Source Id"},"variation_id":{"type":"string","pattern":"^[1-9][0-9]*$","title":"Variation Id"},"name":{"type":"string","maxLength":2000,"minLength":1,"title":"Name"},"variant_type":{"type":"string","maxLength":200,"minLength":1,"title":"Variant Type"},"germline":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Germline"},"germline_review_status":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Germline Review Status"},"somatic_clinical_impact":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Somatic Clinical Impact"},"somatic_review_status":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Somatic Review Status"},"oncogenicity":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Oncogenicity"},"oncogenicity_review_status":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Oncogenicity Review Status"},"source_url":{"type":"string","maxLength":2000,"title":"Source Url"},"resolver_allele":{"anyOf":[{"$ref":"#/components/schemas/ResolverAllele"},{"type":"null"}]},"resolver_status":{"type":"string","enum":["supported_exact_allele_requires_resolution","unsupported_or_no_unique_grch38_allele"],"title":"Resolver Status"}},"additionalProperties":false,"type":"object","required":["source_id","variation_id","name","variant_type","germline","germline_review_status","somatic_clinical_impact","somatic_review_status","oncogenicity","oncogenicity_review_status","source_url","resolver_allele","resolver_status"],"title":"ClinicalVariantExample"},"ClinicalVariantsData":{"properties":{"kind":{"type":"string","const":"clinical_variants","title":"Kind"},"count_unit":{"type":"string","const":"selected_variant_example","title":"Count Unit","default":"selected_variant_example"},"source_id":{"type":"string","maxLength":200,"minLength":1,"title":"Source Id"},"unique_variation_total":{"type":"integer","minimum":0.0,"title":"Unique Variation Total"},"membership_rule":{"type":"string","const":"explicit_hgnc_or_unique_ncbi_gene_crosswalk","title":"Membership Rule"},"axes":{"items":{"$ref":"#/components/schemas/ClinicalAxis"},"type":"array","maxItems":3,"minItems":3,"title":"Axes"},"variant_type_counts":{"items":{"$ref":"#/components/schemas/DistributionBin"},"type":"array","maxItems":1000,"title":"Variant Type Counts"},"example_selection":{"type":"string","const":"lowest_variation_id_bounded_50","title":"Example Selection"},"records":{"items":{"$ref":"#/components/schemas/ClinicalVariantExample"},"type":"array","maxItems":50,"title":"Records"}},"additionalProperties":false,"type":"object","required":["kind","source_id","unique_variation_total","membership_rule","axes","variant_type_counts","example_selection","records"],"title":"ClinicalVariantsData"},"CodingSegment":{"properties":{"rank":{"type":"integer","minimum":1.0,"title":"Rank"},"start":{"type":"integer","minimum":1.0,"title":"Start"},"end":{"type":"integer","minimum":1.0,"title":"End"},"phase":{"type":"integer","enum":[0,1,2],"title":"Phase"}},"additionalProperties":false,"type":"object","required":["rank","start","end","phase"],"title":"CodingSegment"},"ConstraintData":{"properties":{"kind":{"type":"string","const":"constraint","title":"Kind"},"count_unit":{"type":"string","const":"source_metric_record","title":"Count Unit","default":"source_metric_record"},"records":{"items":{"$ref":"#/components/schemas/ConstraintMetric"},"type":"array","maxItems":5000,"title":"Records"}},"additionalProperties":false,"type":"object","required":["kind","records"],"title":"ConstraintData"},"ConstraintMetric":{"properties":{"source_gene_id":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Source Gene Id"},"source_gene_namespace":{"anyOf":[{"type":"string","enum":["ncbi_gene","ensembl_gene"]},{"type":"null"}],"title":"Source Gene Namespace"},"source_canonical":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Source Canonical"},"source_mane_select":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Source Mane Select"},"source_id":{"type":"string","maxLength":200,"minLength":1,"title":"Source Id"},"gene_id":{"type":"string","pattern":"^HGNC:[1-9][0-9]*$","title":"Gene Id"},"transcript_id":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Transcript Id"},"selection_rule":{"type":"string","maxLength":2000,"minLength":1,"title":"Selection Rule"},"pli":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Pli"},"oe_lof":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Oe Lof"},"oe_lof_lower":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Oe Lof Lower"},"oe_lof_upper":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Oe Lof Upper"},"observed_lof":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Observed Lof"},"oe_missense":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Oe Missense"},"oe_missense_lower":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Oe Missense Lower"},"oe_missense_upper":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Oe Missense Upper"},"observed_missense":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Observed Missense"},"expected_lof":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Expected Lof"},"missense_z":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Missense Z"},"quality_flags":{"items":{"type":"string","maxLength":200,"minLength":1},"type":"array","title":"Quality Flags"},"expected_synonymous":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Expected Synonymous"},"expected_missense":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Expected Missense"},"display_status":{"type":"string","enum":["available","caution","unreliable"],"title":"Display Status","default":"available"},"gene_flags":{"items":{"type":"string","maxLength":200,"minLength":1},"type":"array","maxItems":100,"title":"Gene Flags"},"constraint_flags":{"items":{"type":"string","maxLength":200,"minLength":1},"type":"array","maxItems":100,"title":"Constraint Flags"},"reported_metrics":{"additionalProperties":{"anyOf":[{"type":"number"},{"type":"null"}]},"propertyNames":{"enum":["pli","oe_lof","oe_lof_lower","oe_lof_upper","missense_z","oe_missense","oe_missense_lower","oe_missense_upper"]},"type":"object","title":"Reported Metrics"}},"additionalProperties":false,"type":"object","required":["source_id","gene_id","transcript_id","selection_rule","pli","oe_lof","oe_lof_lower","oe_lof_upper","observed_lof","expected_lof","missense_z","quality_flags"],"title":"ConstraintMetric"},"ConversionMetadataSchema":{"properties":{"start_time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Time"},"elapsed_seconds":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Elapsed Seconds"},"elapsed_human":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Elapsed Human"},"successful_chromosomes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Successful Chromosomes"},"failed_chromosomes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Failed Chromosomes"}},"type":"object","title":"ConversionMetadataSchema","description":"Conversion metadata summary."},"CreateFamilyFromJointVcfRequest":{"properties":{"vcf_file_path":{"type":"string","title":"Vcf File Path"},"family_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family Name"},"family_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family Notes"},"inheritance_hypothesis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inheritance Hypothesis"},"sample_role_mapping":{"items":{"$ref":"#/components/schemas/JointVcfSampleMapping"},"type":"array","title":"Sample Role Mapping"},"staging_session_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Staging Session Id"},"filtering_preset":{"type":"string","title":"Filtering Preset","description":"Quality filtering preset. Controls which low-quality variants are removed before annotation. Options: strict (default, quality>=30/depth>=20/GQ>=30), balanced (20/15/20), permissive (10/10/10), custom.","default":"strict"}},"type":"object","required":["vcf_file_path","sample_role_mapping"],"title":"CreateFamilyFromJointVcfRequest","description":"POST /api/v1/families/from-joint-vcf request body."},"CreateFamilyFromSeparateVcfsRequest":{"properties":{"family_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family Name"},"family_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family Notes"},"inheritance_hypothesis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inheritance Hypothesis"},"members":{"items":{"$ref":"#/components/schemas/SeparateVcfMemberSpec"},"type":"array","maxItems":3,"minItems":3,"title":"Members","description":"Exactly 3 member specs: proband, father, mother. HELIX-CR-2026-TRIO-GVCF-WIRING-001 / Jules review cycle 2 B4b -- a trio is exactly three members. Quad / extended-pedigree analysis is a separate future CR with its own orchestrator and its own de novo mathematics; it is not an N-range widening of this endpoint."},"filtering_preset":{"type":"string","title":"Filtering Preset","description":"Quality filtering preset. Controls which low-quality variants are removed before annotation. Options: strict (default, quality>=30/depth>=20/GQ>=30), balanced (20/15/20), permissive (10/10/10), custom.","default":"strict"}},"type":"object","required":["members"],"title":"CreateFamilyFromSeparateVcfsRequest","description":"POST /api/v1/families/from-separate-vcfs request body.\n\nUse case: lab uploads 3 individual single-sample VCFs (proband, father,\nmother), each with one sample. Less common clinically than joint VCF\n(CellGenetics primarily uses joint), but supported."},"CreateNoteRequest":{"properties":{"text":{"type":"string","maxLength":5000,"minLength":1,"title":"Text","description":"Note content"},"variant_idx":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Variant Idx","description":"Variant index (null = case-level note)"}},"type":"object","required":["text"],"title":"CreateNoteRequest","description":"Request to create a case or variant note."},"CreateOverrideRequest":{"properties":{"variant_idx":{"type":"integer","title":"Variant Idx","description":"Variant index to reclassify"},"new_class":{"type":"string","pattern":"^(P|LP|VUS|LB|B)$","title":"New Class","description":"New ACMG classification"},"pipeline_class":{"type":"string","pattern":"^(P|LP|VUS|LB|B)$","title":"Pipeline Class","description":"ACMG class currently assigned by the pipeline (read from variants list). Stored as acmg_class_original on first override; ignored on subsequent overrides (original is preserved per first-override invariant)."},"reason":{"type":"string","maxLength":5000,"minLength":1,"title":"Reason","description":"Clinical justification"}},"type":"object","required":["variant_idx","new_class","pipeline_class","reason"],"title":"CreateOverrideRequest","description":"Request to reclassify a variant."},"CurationResponse":{"properties":{"session_id":{"type":"string","format":"uuid","title":"Session Id"},"variant_idx":{"type":"integer","title":"Variant Idx"},"curation_fields":{"$ref":"#/components/schemas/MtdnaCurationFields","description":"Current stored curation values (all 13 fields surfaced; None for unpopulated criteria)."},"curation_state":{"$ref":"#/components/schemas/CurationStateResponse"},"effective_classification":{"$ref":"#/components/schemas/EffectiveClassificationResponse"},"curated_by":{"anyOf":[{"$ref":"#/components/schemas/UserAttribution"},{"type":"null"}],"description":"User who last edited curation. None when no curation has ever been saved on this variant."},"audit_event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Audit Event Id","description":"Audit event UUID emitted on this write. None for GET responses (no audit emission on read paths)."},"validation_warnings":{"items":{"type":"string"},"type":"array","title":"Validation Warnings","description":"Non-blocking advisory warnings emitted during save. Curator may proceed regardless; warnings are logged in audit trail. HET-001: PP1 homoplasmy reminder fires when proband heteroplasmy >= 0.95 and homoplasmic_in_all=FALSE. GET, DELETE, and preview endpoints always return an empty list."}},"type":"object","required":["session_id","variant_idx","curation_fields","curation_state","effective_classification"],"title":"CurationResponse","description":"PATCH/GET response payload.\n\nPATCH returns audit_event_id (UUID); GET returns audit_event_id=None\n(read operations do not emit audit events)."},"CurationStateResponse":{"properties":{"has_curated_flags":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Has Curated Flags","description":"10 keys (ps2, ps3, ps4, pm6, pp1, pp4, bs2, bs3, bs4, bp5) -> bool. PP1 may be False even when populated if disqualifier (homoplasmic_in_all=TRUE) fires."},"strength_enums":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object","title":"Strength Enums","description":"5 keys (ps2, pm6, bs2, ps4, pp1) -> derived strength string or None. ps4/pp1 strengths are inline-derived from counts."},"pp1_disqualified":{"type":"boolean","title":"Pp1 Disqualified","description":"TRUE when PP1 evidence populated AND homoplasmic_in_all=TRUE. Triggers Cat M7a audit message."},"curated_contributed":{"type":"boolean","title":"Curated Contributed","description":"TRUE when at least one of the 10 has_curated flags is TRUE"},"emitted_curated_criteria":{"items":{"type":"string"},"type":"array","title":"Emitted Curated Criteria","description":"Ordered list of criterion codes (e.g. 'PS3_Supporting', 'PP1_Moderate') emitted by curated evidence. Tier-suffix convention: bare = ACMG default per Richards 2015; explicit suffix = strength differs from default OR McCormick downgrade (PS3, BS3 always _Supporting)."}},"type":"object","required":["has_curated_flags","strength_enums","pp1_disqualified","curated_contributed","emitted_curated_criteria"],"title":"CurationStateResponse","description":"Evaluator output -- what curated criteria fired and why.\n\nComputed by the pure-function mmdwg_evaluator.evaluate_mmdwg_criteria.\nFields mirror MmdwgEvaluationResult fields used by the frontend."},"CytobandBand":{"properties":{"start_pos":{"type":"integer","title":"Start Pos"},"end_pos":{"type":"integer","title":"End Pos"},"band_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Band Name"},"gie_stain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gie Stain"},"arm":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Arm","description":"Chromosome arm (p/q), the leading char of band_name; None when band_name is absent"}},"type":"object","required":["start_pos","end_pos"],"title":"CytobandBand","description":"One cytogenetic band (UCSC cytoBandIdeo), AS PUBLISHED.\n\nCoordinates are 0-based half-open (see the response coord_system). arm is the\nNone-safe leading char of band_name (p/q), or None when band_name is absent --\nderived at the read surface as `band_name[:1] if band_name else None` (the SLICE\nform; band_name is NULLABLE, so the index form band_name[0] is FORBIDDEN, Eunomia\nB1). gie_stain is the Giemsa class VERBATIM; the stain->fill mapping is the\nfrontend's."},"CytobandResponse":{"properties":{"chrom":{"type":"string","title":"Chrom"},"coord_system":{"type":"string","title":"Coord System","default":"ucsc-0-based-half-open"},"bands":{"items":{"$ref":"#/components/schemas/CytobandBand"},"type":"array","title":"Bands"}},"type":"object","required":["chrom","bands"],"title":"CytobandResponse","description":"The cytoband band list for one chromosome (the IdeogramLane read surface).\n\nbands is sorted by start_pos and is the WHOLE-chromosome list (the client draws the\nbar from it and scans it for the SV-midpoint containing band -- no second route).\nAn unknown chrom or a pre-load reference_db yields bands: [] (degrade-clean), never\na 4xx/5xx."},"DatabaseDetailResponse":{"properties":{"name":{"type":"string","title":"Name"},"display_name":{"type":"string","title":"Display Name"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"priority":{"type":"integer","title":"Priority"},"enabled":{"type":"boolean","title":"Enabled","default":true},"license_required":{"type":"boolean","title":"License Required","default":false},"vep_required":{"type":"boolean","title":"Vep Required","default":false},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"source":{"$ref":"#/components/schemas/SourceStatusSchema"},"parquet":{"$ref":"#/components/schemas/ParquetStatusSchema"},"reference_db":{"$ref":"#/components/schemas/ReferenceDBTableSchema"},"freshness":{"$ref":"#/components/schemas/FreshnessSchema"},"validation":{"$ref":"#/components/schemas/ValidationSchema"},"detail":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Detail"}},"type":"object","required":["name","display_name","priority","source","parquet","reference_db","freshness","validation"],"title":"DatabaseDetailResponse","description":"Response for GET /preprocessing/databases/{db_name} with detail."},"DatabaseStatusSchema":{"properties":{"name":{"type":"string","title":"Name"},"display_name":{"type":"string","title":"Display Name"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"priority":{"type":"integer","title":"Priority"},"enabled":{"type":"boolean","title":"Enabled","default":true},"license_required":{"type":"boolean","title":"License Required","default":false},"vep_required":{"type":"boolean","title":"Vep Required","default":false},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"source":{"$ref":"#/components/schemas/SourceStatusSchema"},"parquet":{"$ref":"#/components/schemas/ParquetStatusSchema"},"reference_db":{"$ref":"#/components/schemas/ReferenceDBTableSchema"},"freshness":{"$ref":"#/components/schemas/FreshnessSchema"},"validation":{"$ref":"#/components/schemas/ValidationSchema"}},"type":"object","required":["name","display_name","priority","source","parquet","reference_db","freshness","validation"],"title":"DatabaseStatusSchema","description":"Complete status of one database."},"DeleteBackupResponse":{"properties":{"backup_id":{"type":"string","title":"Backup Id"},"deleted":{"type":"boolean","title":"Deleted"}},"type":"object","required":["backup_id","deleted"],"title":"DeleteBackupResponse","description":"Response after deleting a backup."},"DiscordanceRequest":{"properties":{"checks":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Checks","description":"Specific checks to run. Default: all checks."},"max_results_per_check":{"type":"integer","maximum":500.0,"minimum":1.0,"title":"Max Results Per Check","description":"Max variants per check (per sub-check for criteria anomalies).","default":100}},"type":"object","title":"DiscordanceRequest","description":"Optional request body for discordance analysis."},"DiscordanceResponse":{"properties":{"session_id":{"type":"string","title":"Session Id"},"classifier_version_current":{"type":"string","title":"Classifier Version Current"},"classifier_version_data":{"type":"string","title":"Classifier Version Data","default":"unknown"},"total_variants_analyzed":{"type":"integer","title":"Total Variants Analyzed"},"total_discordances":{"type":"integer","title":"Total Discordances"},"summary":{"additionalProperties":{"type":"integer"},"type":"object","title":"Summary"},"format_warnings":{"items":{"type":"string"},"type":"array","title":"Format Warnings"},"checks":{"additionalProperties":{"$ref":"#/components/schemas/CheckResultResponse"},"type":"object","title":"Checks"}},"type":"object","required":["session_id","classifier_version_current","total_variants_analyzed","total_discordances"],"title":"DiscordanceResponse","description":"Full discordance analysis response."},"DiscordanceVariantResponse":{"properties":{"variant_idx":{"type":"integer","title":"Variant Idx"},"gene_symbol":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gene Symbol"},"chromosome":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chromosome"},"position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Position"},"hgvs_protein":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hgvs Protein"},"transcript_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Transcript Id"},"transcript_representations":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Transcript Representations"},"hgvs_cdna":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hgvs Cdna"},"acmg_class":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Acmg Class"},"acmg_criteria":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Acmg Criteria"},"severity":{"type":"string","title":"Severity"},"reason":{"type":"string","title":"Reason"},"extra":{"additionalProperties":true,"type":"object","title":"Extra"}},"type":"object","required":["variant_idx","severity","reason"],"title":"DiscordanceVariantResponse","description":"Single discordant variant."},"DiscoveryRecord":{"properties":{"work_id":{"type":"string","maxLength":200,"minLength":1,"title":"Work Id"},"pmid":{"anyOf":[{"type":"string","pattern":"^[0-9]{1,12}$"},{"type":"null"}],"title":"Pmid"},"title":{"type":"string","maxLength":2000,"minLength":1,"title":"Title"},"journal":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Journal"},"publication_date":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Publication Date"},"doi":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Doi"},"source_url":{"type":"string","maxLength":2000,"title":"Source Url"},"match_types":{"items":{"type":"string","maxLength":200,"minLength":1},"type":"array","maxItems":30,"title":"Match Types"},"rank_score":{"type":"number","title":"Rank Score"},"relation":{"type":"string","const":"discovery_result_not_curated_gene_association","title":"Relation","default":"discovery_result_not_curated_gene_association"}},"additionalProperties":false,"type":"object","required":["work_id","pmid","title","journal","publication_date","doi","source_url","match_types","rank_score"],"title":"DiscoveryRecord"},"DiseaseAssertion":{"properties":{"assertion_id":{"type":"string","maxLength":200,"minLength":1,"title":"Assertion Id"},"source_id":{"type":"string","maxLength":200,"minLength":1,"title":"Source Id"},"disease_id":{"type":"string","maxLength":200,"minLength":1,"title":"Disease Id"},"disease_name":{"type":"string","maxLength":2000,"minLength":1,"title":"Disease Name"},"inheritance":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Inheritance"},"classification":{"type":"string","maxLength":200,"minLength":1,"title":"Classification"},"curation_date":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Curation Date"},"panel":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Panel"},"criteria_version":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Criteria Version"},"report_url":{"type":"string","maxLength":2000,"title":"Report Url"},"mechanism":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Mechanism"},"allelic_requirement":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Allelic Requirement"},"mirrored_assertion_id":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Mirrored Assertion Id"},"original_disease_id":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Original Disease Id"},"submitter":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Submitter"},"mechanism_support":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Mechanism Support"},"variant_consequence":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Variant Consequence"},"pmids":{"items":{"type":"string","pattern":"^[1-9][0-9]*$"},"type":"array","maxItems":500,"title":"Pmids"}},"additionalProperties":false,"type":"object","required":["assertion_id","source_id","disease_id","disease_name","inheritance","classification","curation_date","panel","criteria_version","report_url"],"title":"DiseaseAssertion"},"DiseaseContextRequest":{"properties":{"rows":{"items":{"$ref":"#/components/schemas/DiseaseContextRow"},"type":"array","maxItems":100,"title":"Rows"}},"additionalProperties":false,"type":"object","required":["rows"],"title":"DiseaseContextRequest"},"DiseaseContextRow":{"properties":{"gene_symbol":{"anyOf":[{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9][A-Za-z0-9_.-]*$"},{"type":"null"}],"title":"Gene Symbol"},"genotype":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Genotype"},"chromosome":{"anyOf":[{"type":"string","maxLength":16},{"type":"null"}],"title":"Chromosome"},"phenotype_terms":{"items":{"type":"string","maxLength":10,"pattern":"^HP:[0-9]{7}$"},"type":"array","maxItems":100,"title":"Phenotype Terms"}},"additionalProperties":false,"type":"object","title":"DiseaseContextRow"},"DiseaseData":{"properties":{"kind":{"type":"string","const":"disease_validity","title":"Kind"},"count_unit":{"type":"string","const":"source_assertion","title":"Count Unit","default":"source_assertion"},"records":{"items":{"$ref":"#/components/schemas/DiseaseAssertion"},"type":"array","maxItems":5000,"title":"Records"}},"additionalProperties":false,"type":"object","required":["kind","records"],"title":"DiseaseData"},"DiseaseRequest":{"properties":{"limit":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Limit","default":20},"offset":{"type":"integer","maximum":1000.0,"minimum":0.0,"title":"Offset","default":0},"disease":{"type":"string","maxLength":160,"minLength":3,"title":"Disease"}},"additionalProperties":false,"type":"object","required":["disease"],"title":"DiseaseRequest"},"DistributionBin":{"properties":{"label":{"type":"string","maxLength":2000,"minLength":1,"title":"Label"},"count":{"type":"integer","minimum":0.0,"title":"Count"}},"additionalProperties":false,"type":"object","required":["label","count"],"title":"DistributionBin"},"DosageAssertion":{"properties":{"source_id":{"type":"string","maxLength":200,"minLength":1,"title":"Source Id"},"assertion_id":{"type":"string","maxLength":200,"minLength":1,"title":"Assertion Id"},"axis":{"type":"string","enum":["haploinsufficiency","triplosensitivity"],"title":"Axis"},"score":{"type":"string","enum":["0","1","2","3","30","40","Not yet evaluated","-1"],"title":"Score"},"description":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Description"},"disease_id":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Disease Id"},"evaluated_at":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Evaluated At"},"pmids":{"items":{"type":"string","pattern":"^[1-9][0-9]*$"},"type":"array","maxItems":100,"title":"Pmids"},"report_url":{"type":"string","maxLength":2000,"title":"Report Url"}},"additionalProperties":false,"type":"object","required":["source_id","assertion_id","axis","score","description","disease_id","evaluated_at","pmids","report_url"],"title":"DosageAssertion"},"DosageData":{"properties":{"kind":{"type":"string","const":"dosage","title":"Kind"},"count_unit":{"type":"string","const":"source_dosage_assertion","title":"Count Unit","default":"source_dosage_assertion"},"records":{"items":{"$ref":"#/components/schemas/DosageAssertion"},"type":"array","maxItems":5000,"title":"Records"}},"additionalProperties":false,"type":"object","required":["kind","records"],"title":"DosageData"},"EffectiveClassificationResponse":{"properties":{"pipeline_acmg_class":{"type":"string","title":"Pipeline Acmg Class","description":"Pipeline-original ACMG class from raw_variants"},"pipeline_criteria":{"type":"string","title":"Pipeline Criteria","description":"Pipeline-original ACMG criteria string"},"evaluator_acmg_class":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Evaluator Acmg Class","description":"Evaluator-derived effective ACMG class. None in c3a (combining rules not extracted). Future B3 Spike CR will populate this field."},"evaluator_criteria":{"type":"string","title":"Evaluator Criteria","description":"Pipeline criteria + curated subset (computed via evaluator). Comma-joined."},"cat_m_messages":{"items":{"type":"string"},"type":"array","title":"Cat M Messages","description":"ClinGen MMDWG Category M audit messages (M7a/M7b). M7a fires on PP1 disqualifier; M7b fires when curation contributes any criterion."}},"type":"object","required":["pipeline_acmg_class","pipeline_criteria","evaluator_criteria"],"title":"EffectiveClassificationResponse","description":"Pipeline-original vs evaluator-overlay classification.\n\nPer addendum B2: evaluator_acmg_class is Optional[str] = None in c3a.\nCombining rules (Richards 2015) extraction is deferred to future B3\nSpike CR. Frontend renders 'Real classification updates after\nreclassify' when evaluator_acmg_class is None."},"Exon":{"properties":{"rank":{"type":"integer","minimum":1.0,"title":"Rank"},"start":{"type":"integer","minimum":1.0,"title":"Start"},"end":{"type":"integer","minimum":1.0,"title":"End"}},"additionalProperties":false,"type":"object","required":["rank","start","end"],"title":"Exon"},"ExpressionData":{"properties":{"kind":{"type":"string","const":"expression","title":"Kind"},"count_unit":{"type":"string","const":"provider_expression_category","title":"Count Unit","default":"provider_expression_category"},"records":{"items":{"$ref":"#/components/schemas/ExpressionRecord"},"type":"array","maxItems":5000,"title":"Records"}},"additionalProperties":false,"type":"object","required":["kind","records"],"title":"ExpressionData"},"ExpressionRecord":{"properties":{"source_id":{"type":"string","maxLength":200,"minLength":1,"title":"Source Id"},"ensembl_gene_id":{"type":"string","maxLength":200,"minLength":1,"title":"Ensembl Gene Id"},"tissue_id":{"type":"string","maxLength":200,"minLength":1,"title":"Tissue Id"},"tissue_label":{"type":"string","maxLength":2000,"minLength":1,"title":"Tissue Label"},"median_tpm":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Median Tpm"},"unit":{"type":"string","const":"TPM","title":"Unit"},"statistic":{"type":"string","const":"median","title":"Statistic"},"sample_count":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Sample Count"},"category_type":{"type":"string","const":"provider_expression_category","title":"Category Type"}},"additionalProperties":false,"type":"object","required":["source_id","ensembl_gene_id","tissue_id","tissue_label","median_tpm","unit","statistic","sample_count","category_type"],"title":"ExpressionRecord"},"FamilyFromJointVcfResponse":{"properties":{"family":{"$ref":"#/components/schemas/FamilyPublicResponse"},"session_ids":{"items":{"type":"string"},"type":"array","title":"Session Ids"}},"type":"object","required":["family","session_ids"],"title":"FamilyFromJointVcfResponse","description":"Response after atomic family + sessions creation from joint VCF."},"FamilyPublicResponse":{"properties":{"id":{"type":"string","title":"Id"},"created_by":{"type":"string","title":"Created By"},"organization_id":{"type":"string","title":"Organization Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"inheritance_hypothesis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inheritance Hypothesis"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id","created_by","organization_id"],"title":"FamilyPublicResponse","description":"Family representation in public API."},"FlagVariantRequest":{"properties":{"comment":{"type":"string","maxLength":5000,"minLength":10,"title":"Comment","description":"Description of the issue with this variant"}},"type":"object","required":["comment"],"title":"FlagVariantRequest","description":"Request to flag a variant with a comment."},"FlagVariantResponse":{"properties":{"variant_idx":{"type":"integer","title":"Variant Idx"},"gene_symbol":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gene Symbol"},"is_user_flagged":{"type":"boolean","title":"Is User Flagged"},"email_sent":{"type":"boolean","title":"Email Sent"},"message":{"type":"string","title":"Message"},"flagged_by":{"anyOf":[{"$ref":"#/components/schemas/UserAttribution"},{"type":"null"}],"description":"User who set the flag. None on unflag responses."}},"type":"object","required":["variant_idx","is_user_flagged","email_sent","message"],"title":"FlagVariantResponse","description":"Response after flagging or unflagging a variant."},"Freshness":{"properties":{"last_source_check":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Last Source Check"},"stale":{"type":"boolean","title":"Stale"},"stale_reason":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Stale Reason"}},"additionalProperties":false,"type":"object","required":["last_source_check","stale","stale_reason"],"title":"Freshness"},"FreshnessSchema":{"properties":{"status":{"type":"string","title":"Status"},"message":{"type":"string","title":"Message"},"source_age_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Source Age Days"},"parquet_age_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parquet Age Days"},"cache_ttl_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cache Ttl Days"},"is_within_ttl":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Within Ttl"},"suggested_action":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Suggested Action"}},"type":"object","required":["status","message"],"title":"FreshnessSchema","description":"Freshness assessment."},"GeneAggregated":{"properties":{"gene_symbol":{"type":"string","title":"Gene Symbol","description":"Gene symbol"},"variant_count":{"type":"integer","title":"Variant Count","description":"Total variants in gene"},"best_acmg_class":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Best Acmg Class","description":"Most pathogenic ACMG class"},"best_acmg_priority":{"type":"integer","title":"Best Acmg Priority","description":"ACMG priority (1=P, 2=LP, 3=VUS, 4=LB, 5=B)","default":99},"best_impact":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Best Impact","description":"Highest impact level"},"best_priority_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Best Priority Score","description":"Highest priority score"},"pathogenic_count":{"type":"integer","title":"Pathogenic Count","description":"Pathogenic variants","default":0},"likely_pathogenic_count":{"type":"integer","title":"Likely Pathogenic Count","description":"Likely Pathogenic variants","default":0},"vus_count":{"type":"integer","title":"Vus Count","description":"VUS variants","default":0},"likely_benign_count":{"type":"integer","title":"Likely Benign Count","description":"Likely Benign variants","default":0},"benign_count":{"type":"integer","title":"Benign Count","description":"Benign variants","default":0},"variants":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Variants","description":"Variants in this gene"},"mtdna_variant_count":{"type":"integer","title":"Mtdna Variant Count","description":"Count of mtDNA variants (classification_framework=mmdwg_2020)","default":0}},"type":"object","required":["gene_symbol","variant_count"],"title":"GeneAggregated","description":"Aggregated gene data with variants.\n\nContains:\n- Gene-level summary statistics\n- ACMG class counts\n- Best (most pathogenic) ACMG class\n- Best tier and priority score\n- All variants for this gene"},"GeneAggregatedResponse":{"properties":{"genes":{"items":{"$ref":"#/components/schemas/GeneAggregated"},"type":"array","title":"Genes","description":"Gene-aggregated variant data"},"total_genes":{"type":"integer","title":"Total Genes","description":"Total number of genes"},"total_variants":{"type":"integer","title":"Total Variants","description":"Total number of variants across all genes"},"page":{"type":"integer","title":"Page","description":"Current page number"},"page_size":{"type":"integer","title":"Page Size","description":"Genes per page"},"total_pages":{"type":"integer","title":"Total Pages","description":"Total number of pages"},"has_next_page":{"type":"boolean","title":"Has Next Page","description":"Whether there is a next page"},"has_previous_page":{"type":"boolean","title":"Has Previous Page","description":"Whether there is a previous page"}},"type":"object","required":["genes","total_genes","total_variants","page","page_size","total_pages","has_next_page","has_previous_page"],"title":"GeneAggregatedResponse","description":"Response for gene-aggregated variants endpoint.\n\nReturns variants grouped by gene, sorted by clinical significance.\nSupports pagination at the gene level.","example":{"genes":[{"benign_count":0,"best_acmg_class":"P","best_acmg_priority":1,"best_impact":"HIGH","best_priority_score":92.5,"gene_symbol":"BRCA1","likely_benign_count":0,"likely_pathogenic_count":1,"pathogenic_count":2,"variant_count":5,"variants":[],"vus_count":2}],"has_next_page":true,"has_previous_page":false,"page":1,"page_size":50,"total_genes":150,"total_pages":3,"total_variants":5000}},"GeneDiseaseResponse":{"properties":{"contractVersion":{"type":"string","const":"1.0","title":"Contractversion"},"status":{"type":"string","enum":["ok","not_found"],"title":"Status"},"query":{"$ref":"#/components/schemas/Query"},"associations":{"items":{"$ref":"#/components/schemas/Association"},"type":"array","maxItems":50,"title":"Associations"},"pagination":{"$ref":"#/components/schemas/variant_analysis_service__presentation__schemas__public_gene_disease_schemas__Pagination"},"source":{"$ref":"#/components/schemas/variant_analysis_service__presentation__schemas__public_gene_disease_schemas__Source"},"warnings":{"items":{"type":"string"},"type":"array","title":"Warnings"},"usage_boundary":{"$ref":"#/components/schemas/UsageBoundary"}},"additionalProperties":false,"type":"object","required":["contractVersion","status","query","associations","pagination","source","warnings","usage_boundary"],"title":"GeneDiseaseResponse"},"GeneIdentity":{"properties":{"gene_id":{"type":"string","pattern":"^HGNC:[1-9][0-9]*$","title":"Gene Id"},"symbol":{"type":"string","maxLength":128,"minLength":1,"title":"Symbol"},"name":{"type":"string","maxLength":2000,"minLength":1,"title":"Name"},"locus_type":{"type":"string","maxLength":200,"minLength":1,"title":"Locus Type"},"status":{"type":"string","enum":["Approved","Entry Withdrawn","Merged/Split"],"title":"Status"},"aliases":{"items":{"type":"string","maxLength":200,"minLength":1},"type":"array","maxItems":500,"title":"Aliases"},"previous_symbols":{"items":{"type":"string","maxLength":200,"minLength":1},"type":"array","maxItems":500,"title":"Previous Symbols"},"ensembl_ids":{"items":{"type":"string","pattern":"^ENSG[0-9]+$"},"type":"array","maxItems":20,"title":"Ensembl Ids"},"ncbi_gene_ids":{"items":{"type":"string","pattern":"^[1-9][0-9]*$"},"type":"array","maxItems":20,"title":"Ncbi Gene Ids"},"source_id":{"type":"string","maxLength":200,"minLength":1,"title":"Source Id"},"replacement_gene_ids":{"items":{"type":"string","pattern":"^HGNC:[1-9][0-9]*$"},"type":"array","maxItems":50,"title":"Replacement Gene Ids"}},"additionalProperties":false,"type":"object","required":["gene_id","symbol","name","locus_type","status","source_id"],"title":"GeneIdentity"},"GeneLiteratureRequest":{"properties":{"gene_id":{"type":"string","pattern":"^HGNC:[1-9][0-9]*$","title":"Gene Id"},"request_id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,64}$","title":"Request Id"},"snapshot_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"title":"Snapshot Id"},"limit":{"type":"integer","maximum":25.0,"minimum":1.0,"title":"Limit","default":20},"sort":{"type":"string","enum":["relevance","newest","oldest"],"title":"Sort","default":"relevance"},"cursor":{"anyOf":[{"type":"string","maxLength":4096},{"type":"null"}],"title":"Cursor"}},"additionalProperties":false,"type":"object","required":["gene_id","request_id"],"title":"GeneLiteratureRequest"},"GeneLiteratureResponse":{"properties":{"schema_version":{"type":"string","const":"1.0","title":"Schema Version","default":"1.0"},"gene_id":{"type":"string","pattern":"^HGNC:[1-9][0-9]*$","title":"Gene Id"},"canonical_symbol":{"type":"string","maxLength":200,"minLength":1,"title":"Canonical Symbol"},"request_id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,64}$","title":"Request Id"},"snapshot_id":{"type":"string","pattern":"^[a-f0-9]{64}$","title":"Snapshot Id"},"owner":{"type":"string","const":"canonical_literature_mining","title":"Owner","default":"canonical_literature_mining"},"query":{"type":"string","maxLength":2000,"minLength":1,"title":"Query"},"captured_at":{"type":"string","maxLength":200,"minLength":1,"title":"Captured At"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","title":"Capture Sha256"},"owner_contract_version":{"type":"string","const":"1.0","title":"Owner Contract Version","default":"1.0"},"owner_returned_count":{"type":"integer","maximum":25.0,"minimum":0.0,"title":"Owner Returned Count"},"returned":{"type":"integer","maximum":25.0,"minimum":0.0,"title":"Returned"},"filtered_unsafe_link_count":{"type":"integer","maximum":25.0,"minimum":0.0,"title":"Filtered Unsafe Link Count"},"records":{"items":{"$ref":"#/components/schemas/DiscoveryRecord"},"type":"array","maxItems":25,"title":"Records"},"has_more":{"type":"boolean","title":"Has More"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"semantic_index_used":{"type":"boolean","title":"Semantic Index Used"},"semantic_degraded_reason":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Semantic Degraded Reason"},"graph_used":{"type":"boolean","title":"Graph Used"},"graph_version":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Graph Version"},"graph_degraded_reason":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Graph Degraded Reason"},"limits":{"items":{"type":"string","maxLength":2000,"minLength":1},"type":"array","title":"Limits"}},"additionalProperties":false,"type":"object","required":["gene_id","canonical_symbol","request_id","snapshot_id","query","captured_at","capture_sha256","owner_returned_count","returned","filtered_unsafe_link_count","records","has_more","next_cursor","semantic_index_used","semantic_degraded_reason","graph_used","graph_version","graph_degraded_reason","limits"],"title":"GeneLiteratureResponse"},"GeneRequest":{"properties":{"limit":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Limit","default":20},"offset":{"type":"integer","maximum":1000.0,"minimum":0.0,"title":"Offset","default":0},"gene":{"type":"string","maxLength":64,"minLength":1,"title":"Gene"}},"additionalProperties":false,"type":"object","required":["gene"],"title":"GeneRequest"},"GwasData":{"properties":{"kind":{"type":"string","const":"gwas","title":"Kind"},"count_unit":{"type":"string","const":"source_association_record","title":"Count Unit","default":"source_association_record"},"records":{"items":{"$ref":"#/components/schemas/GwasRecord"},"type":"array","maxItems":50000,"title":"Records"}},"additionalProperties":false,"type":"object","required":["kind","records"],"title":"GwasData"},"GwasRecord":{"properties":{"source_id":{"type":"string","maxLength":200,"minLength":1,"title":"Source Id"},"association_id":{"type":"string","maxLength":200,"minLength":1,"title":"Association Id"},"association_identity_kind":{"type":"string","enum":["provider_id","full_source_row_digest"],"title":"Association Identity Kind"},"study_accession":{"type":"string","pattern":"^GCST[0-9]+$","title":"Study Accession"},"trait":{"type":"string","maxLength":2000,"minLength":1,"title":"Trait"},"trait_ids":{"items":{"type":"string","maxLength":2000,"minLength":1},"type":"array","maxItems":100,"title":"Trait Ids"},"mapped_trait":{"type":"string","maxLength":10000,"title":"Mapped Trait"},"pmid":{"anyOf":[{"type":"string","pattern":"^[1-9][0-9]*$"},{"type":"null"}],"title":"Pmid"},"reported_genes":{"type":"string","maxLength":10000,"title":"Reported Genes"},"mapped_genes":{"type":"string","maxLength":10000,"title":"Mapped Genes"},"variant":{"type":"string","maxLength":10000,"title":"Variant"},"p_value":{"type":"string","maxLength":200,"title":"P Value"},"p_value_context":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"P Value Context"},"odds_ratio_or_beta":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Odds Ratio Or Beta"},"confidence_interval":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Confidence Interval"},"source_url":{"type":"string","maxLength":2000,"title":"Source Url"},"gene_assignment":{"type":"string","enum":["reported_gene","mapped_gene"],"title":"Gene Assignment"},"gene_assignments":{"items":{"type":"string","enum":["reported_gene","mapped_gene"]},"type":"array","maxItems":2,"minItems":1,"title":"Gene Assignments"},"mapped_gene_context":{"items":{"type":"string","enum":["intergenic_neighbor","within_gene","provider_mapping_unspecified"]},"type":"array","maxItems":3,"title":"Mapped Gene Context"}},"additionalProperties":false,"type":"object","required":["source_id","association_id","association_identity_kind","study_accession","trait","trait_ids","mapped_trait","pmid","reported_genes","mapped_genes","variant","p_value","p_value_context","odds_ratio_or_beta","confidence_interval","source_url","gene_assignment","gene_assignments","mapped_gene_context"],"title":"GwasRecord"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"InternalUpdateStoragePathsRequest":{"properties":{"log_storage_path":{"type":"string","title":"Log Storage Path","description":"Absolute path to run.log on storage tier (e.g. /mnt/helena-storage/reclassification_runs/{id}/run.log)"},"results_storage_path":{"type":"string","title":"Results Storage Path","description":"Absolute path to results.json on storage tier"}},"type":"object","required":["log_storage_path","results_storage_path"],"title":"InternalUpdateStoragePathsRequest","description":"Request body for PATCH /internal/reclassification/runs/{run_id}/storage-paths.\n\nCalled by SO migration worker after successful rsync compute -> storage.\nBoth paths are required (storage migration is atomic for the run)."},"JointVcfSampleMapping":{"properties":{"sample_name":{"type":"string","title":"Sample Name"},"family_role":{"type":"string","title":"Family Role"},"affected_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Affected Status"},"sex":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sex"},"clinical_profile":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Clinical Profile"}},"type":"object","required":["sample_name","family_role"],"title":"JointVcfSampleMapping","description":"Single sample to role mapping for joint VCF family creation.\n\nHELIX-CR-2026-FAMILY-FRONTEND-001 Phase 3-B: added sex field for\ninheritance pattern analysis (X-linked, hemizygous calling, mtDNA).\n\nHELIX-CR-2026-FAMILY-CLINICAL-PIPELINE-ARCHITECTURE-001: added\nclinical_profile for proband HPO transport from /create/trio flow.\nFrontend supplies a non-None dict only on the proband mapping;\nparent mappings carry None. SO writes NDJSON to disk before dispatch\nwhen this field is present in the corresponding session spec.\nDict matches ClinicalProfileRequest schema shape."},"MechanismAssertion":{"properties":{"source_id":{"type":"string","maxLength":200,"minLength":1,"title":"Source Id"},"assertion_id":{"type":"string","maxLength":200,"minLength":1,"title":"Assertion Id"},"disease_id":{"type":"string","maxLength":200,"minLength":1,"title":"Disease Id"},"disease_name":{"type":"string","maxLength":2000,"minLength":1,"title":"Disease Name"},"mechanism":{"type":"string","maxLength":2000,"minLength":1,"title":"Mechanism"},"support":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Support"},"allelic_requirement":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Allelic Requirement"},"variant_consequence":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Variant Consequence"},"classification":{"type":"string","maxLength":200,"minLength":1,"title":"Classification"},"report_url":{"type":"string","maxLength":2000,"title":"Report Url"}},"additionalProperties":false,"type":"object","required":["source_id","assertion_id","disease_id","disease_name","mechanism","support","allelic_requirement","variant_consequence","classification","report_url"],"title":"MechanismAssertion"},"MechanismsData":{"properties":{"kind":{"type":"string","const":"mechanisms","title":"Kind"},"count_unit":{"type":"string","const":"source_relation","title":"Count Unit","default":"source_relation"},"records":{"items":{"$ref":"#/components/schemas/MechanismAssertion"},"type":"array","maxItems":5000,"title":"Records"}},"additionalProperties":false,"type":"object","required":["kind","records"],"title":"MechanismsData"},"MtdnaCurationFields":{"properties":{"mt_ps2_strength":{"anyOf":[{"type":"string","pattern":"^(VeryStrong|Strong|Moderate|Supporting)$"},{"type":"null"}],"title":"Mt Ps2 Strength","description":"PS2 (de novo) strength: VeryStrong/Strong/Moderate/Supporting"},"mt_ps3_evidence":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}],"title":"Mt Ps3 Evidence","description":"PS3 functional studies evidence (cybrid + ETC <20% + load >=60%)"},"mt_ps4_proband_count":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Mt Ps4 Proband Count","description":"PS4 unrelated proband count"},"mt_ps4_haplogroup_diversity_count":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Mt Ps4 Haplogroup Diversity Count","description":"PS4 distinct top-level haplogroup count among probands"},"mt_pm6_strength":{"anyOf":[{"type":"string","pattern":"^(VeryStrong|Strong|Moderate|Supporting)$"},{"type":"null"}],"title":"Mt Pm6 Strength","description":"PM6 (de novo without maternity confirmation) strength"},"mt_pp1_maternal_member_count":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Mt Pp1 Maternal Member Count","description":"PP1 maternal family member count"},"mt_pp1_homoplasmic_in_all":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Mt Pp1 Homoplasmic In All","description":"PP1 disqualifier: TRUE when variant is homoplasmic in all maternal members (segregation evidence cannot establish pathogenicity per ClinGen mtDNA VCEP v1.0.0; PP1 suppressed and Cat M7a audit fires)."},"mt_pp1_heteroplasmy_correlation":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Mt Pp1 Heteroplasmy Correlation","description":"PP1 heteroplasmy correlates with disease severity"},"mt_pp4_etc_deficiency":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}],"title":"Mt Pp4 Etc Deficiency","description":"PP4 ETC enzyme deficiency evidence (<20% activity)"},"mt_bs2_strength":{"anyOf":[{"type":"string","pattern":"^(Strong|Supporting)$"},{"type":"null"}],"title":"Mt Bs2 Strength","description":"BS2 (heteroplasmy in healthy adult) strength: Strong or Supporting"},"mt_bs3_evidence":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}],"title":"Mt Bs3 Evidence","description":"BS3 functional studies evidence (no effect)"},"mt_bs4_evidence":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}],"title":"Mt Bs4 Evidence","description":"BS4 lack of segregation OR paternal segregation"},"mt_bp5_evidence":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}],"title":"Mt Bp5 Evidence","description":"BP5 mtDNA variant in nDNA-related disease case"}},"type":"object","title":"MtdnaCurationFields","description":"13 mtDNA curation data fields.\n\nAll optional -- used both as PATCH body (partial update; only provided\nfields are persisted) and as GET response payload (all fields surfaced\nwith current stored values, None for unpopulated criteria).\n\nField-level validators encode McCormick 2020 Table 1 strength tiers\nand non-negative count invariants. Server-side defense-in-depth:\ndomain entity also re-validates in __post_init__ (single source of\ntruth for invariants)."},"NoteAuthor":{"properties":{"name":{"type":"string","title":"Name"},"initials":{"type":"string","title":"Initials"}},"type":"object","required":["name","initials"],"title":"NoteAuthor","description":"Compact author info for display."},"NoteResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user":{"$ref":"#/components/schemas/NoteAuthor"},"variant_idx":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Variant Idx"},"text":{"type":"string","title":"Text"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","user","variant_idx","text","created_at"],"title":"NoteResponse","description":"Response for a single note."},"NotesListResponse":{"properties":{"notes":{"items":{"$ref":"#/components/schemas/NoteResponse"},"type":"array","title":"Notes"},"total_count":{"type":"integer","title":"Total Count"}},"type":"object","required":["notes","total_count"],"title":"NotesListResponse","description":"Response for listing notes."},"OverrideEntry":{"properties":{"variant_idx":{"type":"integer","title":"Variant Idx"},"acmg_class":{"type":"string","title":"Acmg Class","description":"Current override classification"},"acmg_class_original":{"type":"string","title":"Acmg Class Original","description":"Pipeline class at override time"},"override_reason":{"type":"string","title":"Override Reason","description":"Clinical justification"},"overridden_by":{"$ref":"#/components/schemas/UserAttribution","description":"Who reclassified"}},"type":"object","required":["variant_idx","acmg_class","acmg_class_original","override_reason","overridden_by"],"title":"OverrideEntry","description":"Single overridden variant."},"OverrideResultResponse":{"properties":{"variant_idx":{"type":"integer","title":"Variant Idx"},"acmg_class":{"type":"string","title":"Acmg Class","description":"Active classification after the operation. On create: new_class. On revert: the original pipeline class (what the frontend should now display)."},"acmg_class_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Acmg Class Original","description":"Pipeline class before override. None after revert."},"override_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Override Reason"},"overridden_by":{"anyOf":[{"$ref":"#/components/schemas/UserAttribution"},{"type":"null"}]}},"type":"object","required":["variant_idx","acmg_class"],"title":"OverrideResultResponse","description":"Result of a create or revert operation."},"OverridesListResponse":{"properties":{"overrides":{"items":{"$ref":"#/components/schemas/OverrideEntry"},"type":"array","title":"Overrides"},"total_count":{"type":"integer","title":"Total Count"}},"type":"object","required":["overrides","total_count"],"title":"OverridesListResponse","description":"List of overridden variants."},"OverviewData":{"properties":{"kind":{"type":"string","const":"overview","title":"Kind"},"summary":{"anyOf":[{"type":"string","maxLength":40000,"minLength":1},{"type":"null"}],"title":"Summary"},"summary_source_id":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Summary Source Id"}},"additionalProperties":false,"type":"object","required":["kind","summary","summary_source_id"],"title":"OverviewData"},"PangenomeBubble":{"properties":{"id":{"type":"string","title":"Id"},"position":{"type":"integer","title":"Position"},"alleles":{"items":{"type":"string"},"type":"array","title":"Alleles"},"evidence":{"anyOf":[{"$ref":"#/components/schemas/PangenomeBubbleEvidence"},{"type":"null"}]}},"type":"object","required":["id","position","alleles"],"title":"PangenomeBubble","description":"A variant site (a snarl / bubble).\n\nposition is the reference-path position of the site in the SAME coordinate\nbasis the linear browser uses (PANGENOME_COORDINATE_SYSTEM). evidence is\nOptional/None-defaulted: a bubble with no overlapping classifier evidence\ncarries None, exactly as the linear view's per-field None-degrade does. T8\nowns POPULATING evidence; T3 owns its SHAPE."},"PangenomeBubbleEvidence":{"properties":{"snv":{"anyOf":[{"$ref":"#/components/schemas/BrowserSnvOut"},{"type":"null"}]},"pext":{"anyOf":[{"$ref":"#/components/schemas/BrowserExonPextOut"},{"type":"null"}]}},"type":"object","title":"PangenomeBubbleEvidence","description":"The bubble evidence SLOT -- the clinical-critical reuse of the shared\nlinear-view evidence shape.\n\nIt REUSES the SAME models the linear browser serves (BrowserSnvOut: the\nfive established fields + 35 additive evidence fields; BrowserExonPextOut:\nthe per-exon pext lane incl. the server-derived tier), imported from\ninfrastructure.browser_evidence. There is NO second, graph-specific\nevidence shape: a bubble carries the SAME evidence the linear view serves\nso a clinician sees identical evidence in both views and the graph view\nnever recomputes a verdict (CR Section 2.5). The serializer (T8) POPULATES\nthis slot from the same classifier evidence the linear view reads (CR I3);\nT3 owns only the SHAPE."},"PangenomeEdge":{"properties":{"from":{"type":"string","title":"From"},"to":{"type":"string","title":"To"}},"type":"object","required":["from","to"],"title":"PangenomeEdge","description":"A graph edge (GFA v1.1 link / L-line): a directed node-id pair.\n\nThe wire field names are `from` / `to`. `from` is a Python reserved\nkeyword and cannot be a field name, so the Python fields are from_node /\nto_node carrying Field(alias=...) -- the SERIALIZED wire JSON is\n{\"from\": ..., \"to\": ...}. populate_by_name=True lets the serializer (T8)\nconstruct by Python name (from_node=...) while the endpoint (T9) serializes\nby alias (by_alias=True; CR Section 5 I1). Orientation is a server-side\nlayout concern; the wire carries only the from/to node-id pair the frontend\ndraws."},"PangenomeGraphResponse":{"properties":{"nodes":{"items":{"$ref":"#/components/schemas/PangenomeNode"},"type":"array","title":"Nodes"},"edges":{"items":{"$ref":"#/components/schemas/PangenomeEdge"},"type":"array","title":"Edges"},"paths":{"items":{"$ref":"#/components/schemas/PangenomePath"},"type":"array","title":"Paths"},"bubbles":{"items":{"$ref":"#/components/schemas/PangenomeBubble"},"type":"array","title":"Bubbles"},"privateVariants":{"items":{"$ref":"#/components/schemas/PangenomePrivateVariant"},"type":"array","title":"Privatevariants","default":[]},"meta":{"$ref":"#/components/schemas/PangenomeMeta"}},"type":"object","required":["nodes","edges","paths","bubbles","meta"],"title":"PangenomeGraphResponse","description":"The top-level compact-JSON pangenome graph response.\n\nThe single wire contract assembled by the serializer (T8) and served by the\nendpoint (T9) as a response_model. The pipeline tasks (T4-T7) produce the\nnodes / edges / paths / bubbles; T8 attaches each bubble's evidence and\nsets meta; T9 serves it with by_alias=True so the edge from/to and the\ncamelCase fields reach the wire (CR Section 5 I1)."},"PangenomeMeta":{"properties":{"locus":{"type":"string","title":"Locus"},"coordinateSystem":{"type":"string","title":"Coordinatesystem","default":"grch38-ref-path-ucsc-1based"},"inferredPhasing":{"type":"boolean","title":"Inferredphasing","default":true}},"type":"object","required":["locus"],"title":"PangenomeMeta","description":"The response metadata.\n\ncoordinateSystem defaults to PANGENOME_COORDINATE_SYSTEM (the linear-browser\nbasis, declared on the wire so the two views share selection).\ninferredPhasing is the phasing-honesty flag: True when the patient route is\nan INFERRED route (an unphased case threaded as if it had a single route),\nFalse when the route derives from real phasing (VCF PS tags). Default True\nis the conservative, honest default -- an unset flag must not assert real\nphasing; T6 owns flipping it to False only when phasing is real (CR Section\n2.3, AC-4). coordinateSystem / inferredPhasing are camelCase identifiers\n(no keyword clash, valid Python names), so they need no alias."},"PangenomeNode":{"properties":{"id":{"type":"string","title":"Id"},"x":{"type":"number","title":"X"},"y":{"type":"number","title":"Y"},"label":{"type":"string","title":"Label"},"kind":{"type":"string","title":"Kind"},"length":{"type":"integer","title":"Length"},"bubbleId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bubbleid"}},"type":"object","required":["id","x","y","label","kind","length"],"title":"PangenomeNode","description":"A graph node (GFA v1.1 segment / S-line).\n\nid is the segment name; length is the segment sequence length (GFA LN);\nlabel is a short display string (the node sequence or a truncation the\nserializer T8 decides); x / y are the server-computed layout coordinates\n(T7); kind is the node role for rendering, declared as str so the contract\ndoes not over-constrain a value set the pipeline (T8) owns (CR I4).\n\nbubbleId (CR-2026-VA-PANGENOME-VISUAL-LANGUAGE-001, T2): the id of the\nSNARL/bubble this node BELONGS to (its owning bubble's id), surfaced by the\nserializer DIRECTLY from at_by_bubble_id (the producer membership truth) so\nthe frontend resolves node -> bubble -> evidence.snv.cls as an O(1) EXACT\nlookup for the ACMG node colour -- NOT a client re-derivation from a lossy\ncoordinate. ADDITIVE and backward-compatible: None for a node with no\nsurfaced membership (a reference-backbone node, or an unanchored node) --\nan absent membership is None, never a wrong id. The membership COMPUTATION\nis unchanged (threading at_by_bubble_id); T2 only SURFACES it onto the node."},"PangenomePath":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"route":{"items":{"type":"string"},"type":"array","title":"Route"},"bold":{"type":"boolean","title":"Bold","default":false}},"type":"object","required":["id","name","route"],"title":"PangenomePath","description":"A haplotype route (GFA v1.1 walk / W-line).\n\nroute is the ordered node-id array (the walk); name follows the PanSN\nconvention the T1 asset records (sample#haplotype#contig, e.g.\nGRCh38#0#chr18). bold marks the patient's threaded route (True); the\nreference backbone is False (default)."},"PangenomePrivateVariant":{"properties":{"position":{"type":"integer","title":"Position"},"gene":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gene"},"acmgClass":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Acmgclass"},"evidence":{"anyOf":[{"$ref":"#/components/schemas/PangenomeBubbleEvidence"},{"type":"null"}]}},"type":"object","required":["position"],"title":"PangenomePrivateVariant","description":"A PRIVATE classified variant -- a ghost bubble.\n\nCR-2026-VA-PANGENOME-PRIVATE-VARIANT-GHOST-BUBBLE-001 (additive, modelled on\nPangenomeBubble + PangenomeBubbleEvidence). A private variant is a patient\nCLASSIFIED variant whose position is NOT an equal-position bubble.position --\ni.e. the HPRC panel carries no snarl for it, so the patient is threaded as a\nROUTE through existing panel nodes and the variant forms no bubble. The\nserializer (T8) computes the set as the COMPLEMENT: the windowed classified\nSNVs whose position is not in {bubble.position}, from the SAME single windowed\nSNV read + the SAME snv_by_pos index the bubble evidence attach uses (no second\nread, no graph mutation, no schema change). The frontend renders each as an\nACMG-coloured GHOST BUBBLE in the graph's own grammar.\n\nposition is the global 1-based UCSC bp -- the SAME shared-selection basis a\nbubble carries (PANGENOME_COORDINATE_SYSTEM), so the ghost selects the same\nsite the linear view does. acmgClass + gene are read STRAIGHT from the backend\nclassification (the snv's own BrowserSnvOut.cls / .gene -- NEVER re-derived on\nthe client). evidence REUSES the SAME PangenomeBubbleEvidence slot a bubble\ncarries (the shared BrowserSnvOut), so the ghost opens the IDENTICAL evidence\npanel a bubble opens (one evidence model, no second graph-specific shape)."},"ParquetStatusSchema":{"properties":{"exists":{"type":"boolean","title":"Exists"},"path":{"type":"string","title":"Path"},"partitions":{"type":"integer","title":"Partitions","default":0},"partitions_expected":{"type":"integer","title":"Partitions Expected","default":0},"total_size_bytes":{"type":"integer","title":"Total Size Bytes","default":0},"total_size_human":{"type":"string","title":"Total Size Human","default":"0 B"},"last_modified":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Modified"},"row_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Row Count"},"conversion_metadata":{"anyOf":[{"$ref":"#/components/schemas/ConversionMetadataSchema"},{"type":"null"}]}},"type":"object","required":["exists","path"],"title":"ParquetStatusSchema","description":"Parquet conversion status."},"PhenotypeRecord":{"properties":{"source_id":{"type":"string","maxLength":200,"minLength":1,"title":"Source Id"},"assertion_id":{"type":"string","maxLength":200,"minLength":1,"title":"Assertion Id"},"disease_id":{"type":"string","maxLength":200,"minLength":1,"title":"Disease Id"},"disease_name":{"type":"string","maxLength":2000,"minLength":1,"title":"Disease Name"},"phenotype_id":{"type":"string","pattern":"^HP:[0-9]{7}$","title":"Phenotype Id"},"phenotype_label":{"type":"null","title":"Phenotype Label"},"allelic_requirement":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Allelic Requirement"},"classification":{"type":"string","maxLength":200,"minLength":1,"title":"Classification"},"curation_date":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Curation Date"},"report_url":{"type":"string","maxLength":2000,"title":"Report Url"},"pmids":{"items":{"type":"string","pattern":"^[1-9][0-9]*$"},"type":"array","maxItems":1000,"title":"Pmids"}},"additionalProperties":false,"type":"object","required":["source_id","assertion_id","disease_id","disease_name","phenotype_id","allelic_requirement","classification","curation_date","report_url","pmids"],"title":"PhenotypeRecord"},"PhenotypesData":{"properties":{"kind":{"type":"string","const":"phenotypes","title":"Kind"},"count_unit":{"type":"string","const":"source_relation_phenotype","title":"Count Unit","default":"source_relation_phenotype"},"records":{"items":{"$ref":"#/components/schemas/PhenotypeRecord"},"type":"array","maxItems":10000,"title":"Records"}},"additionalProperties":false,"type":"object","required":["kind","records"],"title":"PhenotypesData"},"ProfileRequest":{"properties":{"gene_id":{"type":"string","pattern":"^HGNC:[1-9][0-9]*$","title":"Gene Id"},"request_id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,64}$","title":"Request Id"},"snapshot_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"title":"Snapshot Id"}},"additionalProperties":false,"type":"object","required":["gene_id","request_id"],"title":"ProfileRequest"},"ProfileResponse":{"properties":{"schema_version":{"type":"string","const":"1.0","title":"Schema Version","default":"1.0"},"gene_id":{"type":"string","pattern":"^HGNC:[1-9][0-9]*$","title":"Gene Id"},"request_id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,64}$","title":"Request Id"},"snapshot_id":{"type":"string","pattern":"^[a-f0-9]{64}$","title":"Snapshot Id"},"canonical_symbol":{"type":"string","maxLength":200,"minLength":1,"title":"Canonical Symbol"},"generated_at":{"type":"string","maxLength":200,"minLength":1,"title":"Generated At"},"identity":{"$ref":"#/components/schemas/GeneIdentity"},"sources":{"additionalProperties":{"$ref":"#/components/schemas/variant_analysis_service__presentation__schemas__public_gene_schemas__Source"},"type":"object","title":"Sources"},"sections":{"additionalProperties":{"$ref":"#/components/schemas/SectionResponse"},"propertyNames":{"enum":["overview","disease_validity","structure","constraint","dosage","mechanisms","clinical_variants","clinical_variant_consequences","expression","gwas","phenotypes","protein_pathways","literature"]},"type":"object","title":"Sections"}},"additionalProperties":false,"type":"object","required":["gene_id","request_id","snapshot_id","canonical_symbol","generated_at","identity","sources","sections"],"title":"ProfileResponse"},"ProteinCrossReference":{"properties":{"database":{"type":"string","maxLength":200,"minLength":1,"title":"Database"},"accession":{"type":"string","maxLength":200,"minLength":1,"title":"Accession"},"label":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Label"},"source_url":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Source Url"}},"additionalProperties":false,"type":"object","required":["database","accession","label","source_url"],"title":"ProteinCrossReference"},"ProteinPathwaysData":{"properties":{"kind":{"type":"string","const":"protein_pathways","title":"Kind"},"count_unit":{"type":"string","const":"reviewed_protein_record","title":"Count Unit","default":"reviewed_protein_record"},"records":{"items":{"$ref":"#/components/schemas/ProteinRecord"},"type":"array","maxItems":1000,"title":"Records"}},"additionalProperties":false,"type":"object","required":["kind","records"],"title":"ProteinPathwaysData"},"ProteinRecord":{"properties":{"source_id":{"type":"string","maxLength":200,"minLength":1,"title":"Source Id"},"accession":{"type":"string","maxLength":200,"minLength":1,"title":"Accession"},"entry_name":{"type":"string","maxLength":200,"minLength":1,"title":"Entry Name"},"reviewed":{"type":"boolean","title":"Reviewed"},"protein_name":{"type":"string","maxLength":2000,"minLength":1,"title":"Protein Name"},"protein_length":{"type":"integer","minimum":1.0,"title":"Protein Length"},"function_text":{"anyOf":[{"type":"string","maxLength":40000},{"type":"null"}],"title":"Function Text"},"function_evidence":{"items":{"type":"string","maxLength":2000,"minLength":1},"type":"array","maxItems":100,"title":"Function Evidence"},"pathway_text":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}],"title":"Pathway Text"},"cross_references":{"items":{"$ref":"#/components/schemas/ProteinCrossReference"},"type":"array","maxItems":500,"title":"Cross References"},"source_url":{"type":"string","maxLength":2000,"title":"Source Url"}},"additionalProperties":false,"type":"object","required":["source_id","accession","entry_name","reviewed","protein_name","protein_length","function_text","function_evidence","pathway_text","cross_references","source_url"],"title":"ProteinRecord"},"PublicAtlasClassCounts":{"properties":{"pathogenic":{"type":"integer","minimum":0.0,"title":"Pathogenic"},"likely_pathogenic":{"type":"integer","minimum":0.0,"title":"Likely Pathogenic"},"uncertain_significance":{"type":"integer","minimum":0.0,"title":"Uncertain Significance"},"likely_benign":{"type":"integer","minimum":0.0,"title":"Likely Benign"},"benign":{"type":"integer","minimum":0.0,"title":"Benign"}},"additionalProperties":false,"type":"object","required":["pathogenic","likely_pathogenic","uncertain_significance","likely_benign","benign"],"title":"PublicAtlasClassCounts"},"PublicAtlasStatisticsReadyResponse":{"properties":{"contract_version":{"type":"string","const":"1.0","title":"Contract Version","default":"1.0"},"status":{"type":"string","const":"ready","title":"Status","default":"ready"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"classes":{"$ref":"#/components/schemas/PublicAtlasClassCounts"},"observed_at":{"type":"string","format":"date-time","title":"Observed At"}},"additionalProperties":false,"type":"object","required":["total","classes","observed_at"],"title":"PublicAtlasStatisticsReadyResponse"},"PublicAtlasStatisticsUnavailableResponse":{"properties":{"contract_version":{"type":"string","const":"1.0","title":"Contract Version","default":"1.0"},"status":{"type":"string","const":"unavailable","title":"Status","default":"unavailable"},"message":{"type":"string","const":"Live Atlas statistics are temporarily unavailable.","title":"Message","default":"Live Atlas statistics are temporarily unavailable."},"retryable":{"type":"boolean","const":true,"title":"Retryable","default":true}},"additionalProperties":false,"type":"object","title":"PublicAtlasStatisticsUnavailableResponse"},"PublicClinVarEvidence":{"properties":{"clinical_significance":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clinical Significance"},"review_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Review Status"},"review_stars":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Review Stars"},"variation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Variation Id"},"rsid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rsid"},"disease_names":{"items":{"type":"string","minLength":1},"type":"array","title":"Disease Names"},"protein_representation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Protein Representation"},"canonical_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Canonical Url"},"availability":{"type":"string","enum":["available","no_record","not_applicable","unavailable"],"title":"Availability"}},"additionalProperties":false,"type":"object","required":["clinical_significance","review_status","review_stars","variation_id","rsid","disease_names","protein_representation","canonical_url","availability"],"title":"PublicClinVarEvidence"},"PublicConservationEvidence":{"properties":{"phylop100way_vertebrate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Phylop100Way Vertebrate"},"gerp_rs":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gerp Rs"},"availability":{"type":"string","enum":["available","no_record","not_applicable","unavailable"],"title":"Availability"}},"additionalProperties":false,"type":"object","required":["phylop100way_vertebrate","gerp_rs","availability"],"title":"PublicConservationEvidence"},"PublicDosageEvidence":{"properties":{"haploinsufficiency_score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Haploinsufficiency Score"},"triplosensitivity_score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Triplosensitivity Score"},"availability":{"type":"string","enum":["available","no_record","not_applicable","unavailable"],"title":"Availability"}},"additionalProperties":false,"type":"object","required":["haploinsufficiency_score","triplosensitivity_score","availability"],"title":"PublicDosageEvidence"},"PublicExpertEvidence":{"properties":{"vcep_applied":{"type":"boolean","title":"Vcep Applied"},"vcep_panel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vcep Panel"},"erepo_assertion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Erepo Assertion"},"erepo_panel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Erepo Panel"},"erepo_disease":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Erepo Disease"},"erepo_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Erepo Summary"},"erepo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Erepo Url"},"availability":{"type":"string","enum":["available","no_record","not_applicable","unavailable"],"title":"Availability"}},"additionalProperties":false,"type":"object","required":["vcep_applied","vcep_panel","erepo_assertion","erepo_panel","erepo_disease","erepo_summary","erepo_url","availability"],"title":"PublicExpertEvidence"},"PublicExternalLinks":{"properties":{"clinvar":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clinvar"},"gnomad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gnomad"},"ensembl_gene":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ensembl Gene"},"ensembl_transcript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ensembl Transcript"},"clingen_erepo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clingen Erepo"}},"additionalProperties":false,"type":"object","required":["clinvar","gnomad","ensembl_gene","ensembl_transcript","clingen_erepo"],"title":"PublicExternalLinks"},"PublicFunctionalAnnotationReferences":{"properties":{"spliceai":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Spliceai"}},"additionalProperties":false,"type":"object","title":"PublicFunctionalAnnotationReferences"},"PublicFunctionalEvidence":{"properties":{"qualification_profile":{"type":"string","const":"scott-mmr-dms-2022.v1","title":"Qualification Profile"},"combining_policy":{"type":"string","const":"existing_classifier","title":"Combining Policy"},"combining_policy_version":{"type":"string","minLength":1,"title":"Combining Policy Version"},"gn137_combining_rules_applied":{"type":"boolean","const":false,"title":"Gn137 Combining Rules Applied"},"records":{"items":{"$ref":"#/components/schemas/PublicFunctionalRecord"},"type":"array","maxItems":8,"title":"Records"}},"additionalProperties":false,"type":"object","required":["qualification_profile","combining_policy","combining_policy_version","gn137_combining_rules_applied","records"],"title":"PublicFunctionalEvidence"},"PublicFunctionalHashKinds":{"properties":{"specification":{"type":"string","const":"source_set_sha256","title":"Specification"},"publication":{"type":"string","const":"source_set_sha256","title":"Publication"},"calibration_controls":{"type":"string","const":"source_set_sha256","title":"Calibration Controls"},"mavedb":{"type":"string","const":"source_set_sha256","title":"Mavedb"},"protein_bridge":{"anyOf":[{"type":"string","const":"identity_sha256"},{"type":"null"}],"title":"Protein Bridge"},"spliceai":{"anyOf":[{"type":"string","const":"identity_sha256"},{"type":"null"}],"title":"Spliceai"}},"additionalProperties":false,"type":"object","required":["specification","publication","calibration_controls","mavedb"],"title":"PublicFunctionalHashKinds"},"PublicFunctionalHashes":{"properties":{"specification":{"type":"string","pattern":"^[a-f0-9]{64}$","title":"Specification"},"publication":{"type":"string","pattern":"^[a-f0-9]{64}$","title":"Publication"},"calibration_controls":{"type":"string","pattern":"^[a-f0-9]{64}$","title":"Calibration Controls"},"mavedb":{"type":"string","pattern":"^[a-f0-9]{64}$","title":"Mavedb"},"protein_bridge":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"title":"Protein Bridge"},"spliceai":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"title":"Spliceai"}},"additionalProperties":false,"type":"object","required":["specification","publication","calibration_controls","mavedb"],"title":"PublicFunctionalHashes"},"PublicFunctionalRecord":{"properties":{"variant_key":{"type":"string","minLength":1,"title":"Variant Key"},"criterion":{"type":"string","enum":["PS3","BS3"],"title":"Criterion"},"strength":{"type":"string","const":"Strong","title":"Strength"},"gene":{"type":"string","minLength":1,"title":"Gene"},"transcript":{"type":"string","minLength":1,"title":"Transcript"},"protein_hgvs":{"type":"string","minLength":1,"title":"Protein Hgvs"},"disease_id":{"type":"string","minLength":1,"title":"Disease Id"},"moi":{"type":"string","minLength":1,"title":"Moi"},"score_set_urn":{"type":"string","minLength":1,"title":"Score Set Urn"},"measurement_id":{"type":"string","minLength":1,"title":"Measurement Id"},"mapping_id":{"type":"string","minLength":1,"title":"Mapping Id"},"raw_score":{"type":"number","title":"Raw Score"},"odds_path":{"type":"number","title":"Odds Path"},"spliceai_delta_max":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Spliceai Delta Max"},"source_versions":{"$ref":"#/components/schemas/PublicFunctionalVersions"},"source_hashes":{"$ref":"#/components/schemas/PublicFunctionalHashes"},"source_hash_kinds":{"$ref":"#/components/schemas/PublicFunctionalHashKinds"},"annotation_references":{"$ref":"#/components/schemas/PublicFunctionalAnnotationReferences"},"source_context_id":{"type":"string","minLength":1,"title":"Source Context Id"},"publication_id":{"type":"string","minLength":1,"title":"Publication Id"},"references":{"items":{"type":"string","minLength":1},"type":"array","title":"References"}},"additionalProperties":false,"type":"object","required":["variant_key","criterion","strength","gene","transcript","protein_hgvs","disease_id","moi","score_set_urn","measurement_id","mapping_id","raw_score","odds_path","source_versions","source_hashes","source_hash_kinds","annotation_references","source_context_id","publication_id","references"],"title":"PublicFunctionalRecord"},"PublicFunctionalVersions":{"properties":{"specification":{"type":"string","maxLength":512,"minLength":1,"title":"Specification"},"publication":{"type":"string","maxLength":512,"minLength":1,"title":"Publication"},"calibration_controls":{"type":"string","maxLength":512,"minLength":1,"title":"Calibration Controls"},"mavedb":{"type":"string","maxLength":512,"minLength":1,"title":"Mavedb"},"protein_bridge":{"anyOf":[{"type":"string","maxLength":512,"minLength":1},{"type":"null"}],"title":"Protein Bridge"},"spliceai":{"anyOf":[{"type":"string","maxLength":512,"minLength":1},{"type":"null"}],"title":"Spliceai"}},"additionalProperties":false,"type":"object","required":["specification","publication","calibration_controls","mavedb"],"title":"PublicFunctionalVersions"},"PublicGeneConstraintEvidence":{"properties":{"pli":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pli"},"oe_lof":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Oe Lof"},"loeuf":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Loeuf"},"missense_z":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Missense Z"},"availability":{"type":"string","enum":["available","no_record","not_applicable","unavailable"],"title":"Availability"}},"additionalProperties":false,"type":"object","required":["pli","oe_lof","loeuf","missense_z","availability"],"title":"PublicGeneConstraintEvidence"},"PublicPopulationEvidence":{"properties":{"global_allele_frequency":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Global Allele Frequency"},"global_allele_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Global Allele Count"},"global_allele_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Global Allele Number"},"homozygote_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Homozygote Count"},"group_max_allele_frequency":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Group Max Allele Frequency"},"popmax_population":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Popmax Population"},"rsid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rsid"},"canonical_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Canonical Url"},"availability":{"type":"string","enum":["available","no_record","not_applicable","unavailable"],"title":"Availability"}},"additionalProperties":false,"type":"object","required":["global_allele_frequency","global_allele_count","global_allele_number","homozygote_count","group_max_allele_frequency","popmax_population","rsid","canonical_url","availability"],"title":"PublicPopulationEvidence"},"PublicPrediction":{"properties":{"prediction":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prediction"},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"}},"additionalProperties":false,"type":"object","required":["prediction","score"],"title":"PublicPrediction"},"PublicPredictorEvidence":{"properties":{"sift":{"$ref":"#/components/schemas/PublicPrediction"},"alphamissense":{"$ref":"#/components/schemas/PublicPrediction"},"metasvm":{"$ref":"#/components/schemas/PublicPrediction"},"dann_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Dann Score"},"bayesdel_noaf":{"$ref":"#/components/schemas/PublicPrediction"},"bayesdel_addaf":{"$ref":"#/components/schemas/PublicPrediction"},"availability":{"type":"string","enum":["available","no_record","not_applicable","unavailable"],"title":"Availability"}},"additionalProperties":false,"type":"object","required":["sift","alphamissense","metasvm","dann_score","bayesdel_noaf","bayesdel_addaf","availability"],"title":"PublicPredictorEvidence"},"PublicReferenceCodon":{"properties":{"bases":{"type":"string","title":"Bases"},"aminoAcid":{"type":"string","title":"Aminoacid"},"proteinPosition":{"type":"integer","minimum":1.0,"title":"Proteinposition"},"genomicPositions":{"items":{"type":"integer"},"type":"array","title":"Genomicpositions"}},"additionalProperties":false,"type":"object","required":["bases","aminoAcid","proteinPosition","genomicPositions"],"title":"PublicReferenceCodon"},"PublicReferenceResponse":{"properties":{"chrom":{"type":"string","title":"Chrom"},"start":{"type":"integer","minimum":1.0,"title":"Start"},"end":{"type":"integer","minimum":1.0,"title":"End"},"sequence":{"type":"string","title":"Sequence"},"transcript":{"anyOf":[{"$ref":"#/components/schemas/PublicReferenceTranscript"},{"type":"null"}]}},"additionalProperties":false,"type":"object","required":["chrom","start","end","sequence","transcript"],"title":"PublicReferenceResponse"},"PublicReferenceTranscript":{"properties":{"geneSymbol":{"type":"string","title":"Genesymbol"},"transcriptId":{"type":"string","title":"Transcriptid"},"proteinId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proteinid"},"strand":{"type":"string","enum":["+","-"],"title":"Strand"},"exons":{"items":{"prefixItems":[{"type":"integer"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2},"type":"array","title":"Exons"},"cds":{"items":{"prefixItems":[{"type":"integer"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2},"type":"array","title":"Cds"},"codons":{"items":{"$ref":"#/components/schemas/PublicReferenceCodon"},"type":"array","title":"Codons"}},"additionalProperties":false,"type":"object","required":["geneSymbol","transcriptId","proteinId","strand","exons","cds","codons"],"title":"PublicReferenceTranscript"},"PublicReferenceVersion":{"properties":{"name":{"type":"string","minLength":1,"title":"Name"},"version":{"type":"string","minLength":1,"title":"Version"}},"additionalProperties":false,"type":"object","required":["name","version"],"title":"PublicReferenceVersion"},"PublicSpliceAIEvidence":{"properties":{"prediction":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prediction"},"max_delta_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Delta Score"},"gene":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gene"},"ds_ag":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ds Ag"},"ds_al":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ds Al"},"ds_dg":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ds Dg"},"ds_dl":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ds Dl"},"availability":{"type":"string","enum":["available","no_record","not_applicable","unavailable"],"title":"Availability"}},"additionalProperties":false,"type":"object","required":["prediction","max_delta_score","gene","ds_ag","ds_al","ds_dg","ds_dl","availability"],"title":"PublicSpliceAIEvidence"},"PublicVariantAnnotation":{"properties":{"gene_symbol":{"type":"string","minLength":1,"title":"Gene Symbol"},"gene_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gene Id"},"transcript_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Transcript Id"},"consequence":{"type":"string","minLength":1,"title":"Consequence"},"impact":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Impact"},"biotype":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Biotype"},"exon_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Exon Number"},"domains":{"items":{"type":"string","minLength":1},"type":"array","title":"Domains"}},"additionalProperties":false,"type":"object","required":["gene_symbol","gene_id","transcript_id","consequence","impact","biotype","exon_number","domains"],"title":"PublicVariantAnnotation"},"PublicVariantClassification":{"properties":{"functional_evidence":{"anyOf":[{"$ref":"#/components/schemas/PublicFunctionalEvidence"},{"type":"null"}]},"framework":{"type":"string","const":"acmg_2015","title":"Framework"},"automated_class":{"type":"string","enum":["P","LP","VUS","LB","B"],"title":"Automated Class"},"criteria":{"type":"string","title":"Criteria"},"confidence_score":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Confidence Score"},"pm1_evidence_source":{"anyOf":[{"type":"string","enum":["pfam","uniprot","pfam+uniprot"]},{"type":"null"}],"title":"Pm1 Evidence Source"},"pm1_evidence_availability":{"type":"string","enum":["available","no_record","not_applicable","unavailable"],"title":"Pm1 Evidence Availability"}},"additionalProperties":false,"type":"object","required":["framework","automated_class","criteria","confidence_score","pm1_evidence_source","pm1_evidence_availability"],"title":"PublicVariantClassification"},"PublicVariantDisplay":{"properties":{"label":{"type":"string","minLength":1,"title":"Label"},"hgvs_genomic":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hgvs Genomic"},"hgvs_cdna":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hgvs Cdna"},"hgvs_protein":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hgvs Protein"}},"additionalProperties":false,"type":"object","required":["label","hgvs_genomic","hgvs_cdna","hgvs_protein"],"title":"PublicVariantDisplay"},"PublicVariantEvidence":{"properties":{"clinvar_significance":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clinvar Significance"},"clinvar_review_stars":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Clinvar Review Stars"},"vcep_applied":{"type":"boolean","title":"Vcep Applied"},"vcep_panel":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Vcep Panel"},"erepo_assertion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Erepo Assertion"},"erepo_panel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Erepo Panel"},"erepo_disease":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Erepo Disease"},"clinvar":{"$ref":"#/components/schemas/PublicClinVarEvidence"},"expert":{"$ref":"#/components/schemas/PublicExpertEvidence"},"predictors":{"$ref":"#/components/schemas/PublicPredictorEvidence"},"spliceai":{"$ref":"#/components/schemas/PublicSpliceAIEvidence"},"conservation":{"$ref":"#/components/schemas/PublicConservationEvidence"},"gene_constraints":{"$ref":"#/components/schemas/PublicGeneConstraintEvidence"},"dosage":{"$ref":"#/components/schemas/PublicDosageEvidence"},"population":{"$ref":"#/components/schemas/PublicPopulationEvidence"},"external_links":{"$ref":"#/components/schemas/PublicExternalLinks"}},"additionalProperties":false,"type":"object","required":["clinvar_significance","clinvar_review_stars","vcep_applied","vcep_panel","erepo_assertion","erepo_panel","erepo_disease","clinvar","expert","predictors","spliceai","conservation","gene_constraints","dosage","population","external_links"],"title":"PublicVariantEvidence"},"PublicVariantIdentity":{"properties":{"assembly":{"type":"string","const":"GRCh38","title":"Assembly"},"chromosome":{"type":"string","minLength":1,"title":"Chromosome"},"position":{"type":"integer","minimum":1.0,"title":"Position"},"reference":{"type":"string","minLength":1,"title":"Reference"},"alternate":{"type":"string","minLength":1,"title":"Alternate"},"variant_type":{"type":"string","enum":["SNV","INS","DEL","DELINS"],"title":"Variant Type"},"canonical_key":{"type":"string","minLength":1,"title":"Canonical Key"}},"additionalProperties":false,"type":"object","required":["assembly","chromosome","position","reference","alternate","variant_type","canonical_key"],"title":"PublicVariantIdentity"},"PublicVariantInvalidRequestError":{"properties":{"code":{"type":"string","enum":["unsupported_assembly","invalid_chromosome","invalid_position","invalid_allele","multi_allelic_not_supported","symbolic_allele_not_supported","reference_equals_alternate","unsupported_variant_class"],"title":"Code"},"message":{"type":"string","minLength":1,"title":"Message"},"retryable":{"type":"boolean","const":false,"title":"Retryable","default":false}},"additionalProperties":false,"type":"object","required":["code","message"],"title":"PublicVariantInvalidRequestError"},"PublicVariantLimitations":{"properties":{"scope":{"type":"string","const":"Automated variant-level ACMG/AMP decision support for one GRCh38 nuclear SNV, simple indel, or delins smaller than 50 bp.","title":"Scope","default":"Automated variant-level ACMG/AMP decision support for one GRCh38 nuclear SNV, simple indel, or delins smaller than 50 bp."},"unavailable_context":{"type":"string","const":"Patient phenotype, genotype, family, segregation, de novo, case-specific, and private override evidence were not evaluated.","title":"Unavailable Context","default":"Patient phenotype, genotype, family, segregation, de novo, case-specific, and private override evidence were not evaluated."},"diagnostic_use":{"type":"string","const":"This result is not a patient diagnosis and must not be used as a substitute for qualified clinical interpretation.","title":"Diagnostic Use","default":"This result is not a patient diagnosis and must not be used as a substitute for qualified clinical interpretation."}},"additionalProperties":false,"type":"object","title":"PublicVariantLimitations"},"PublicVariantMappingSource":{"properties":{"name":{"type":"string","minLength":1,"title":"Name"},"version":{"type":"string","minLength":1,"title":"Version"}},"additionalProperties":false,"type":"object","required":["name","version"],"title":"PublicVariantMappingSource"},"PublicVariantProvenance":{"properties":{"annotation_source":{"anyOf":[{"type":"string","enum":["vep_cache","vep_live"]},{"type":"null"}],"title":"Annotation Source"},"vep_version":{"type":"string","title":"Vep Version"},"vep_cache_version":{"type":"string","title":"Vep Cache Version"},"reference_assembly":{"type":"string","title":"Reference Assembly"},"classifier_version":{"type":"string","title":"Classifier Version"},"classifier_version_label":{"type":"string","title":"Classifier Version Label"},"reference_versions":{"items":{"$ref":"#/components/schemas/PublicReferenceVersion"},"type":"array","title":"Reference Versions"},"annotation_resolved":{"type":"boolean","title":"Annotation Resolved"},"classification_completed":{"type":"boolean","title":"Classification Completed"}},"additionalProperties":false,"type":"object","required":["annotation_source","vep_version","vep_cache_version","reference_assembly","classifier_version","classifier_version_label","reference_versions","annotation_resolved","classification_completed"],"title":"PublicVariantProvenance"},"PublicVariantResolutionMetadata":{"properties":{"normalized_query":{"type":"string","maxLength":512,"minLength":1,"title":"Normalized Query"},"notation_family":{"type":"string","enum":["coordinate","genomic_hgvs","transcript_hgvs","protein_hgvs","spdi","rsid","identifier","gene"],"title":"Notation Family"},"input_accession":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Accession"},"input_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Version"},"resolver_schema_version":{"type":"string","minLength":1,"title":"Resolver Schema Version"},"resolver_asset_version":{"type":"string","minLength":1,"title":"Resolver Asset Version"},"mapping_sources":{"items":{"$ref":"#/components/schemas/PublicVariantMappingSource"},"type":"array","title":"Mapping Sources"},"warnings":{"items":{"type":"string","enum":["case_normalized","chromosome_prefix_normalized","versionless_accession_unique","indel_left_normalized","redundant_padding_removed"]},"type":"array","title":"Warnings"}},"additionalProperties":false,"type":"object","required":["normalized_query","notation_family","input_accession","input_version","resolver_schema_version","resolver_asset_version","mapping_sources","warnings"],"title":"PublicVariantResolutionMetadata"},"PublicVariantSearchAmbiguousResponse":{"properties":{"search_contract_version":{"type":"string","const":"1.0","title":"Search Contract Version","default":"1.0"},"status":{"type":"string","const":"ambiguous","title":"Status","default":"ambiguous"},"resolution":{"$ref":"#/components/schemas/PublicVariantResolutionMetadata"},"error":{"$ref":"#/components/schemas/PublicVariantSearchError"},"total_candidate_count":{"type":"integer","minimum":2.0,"title":"Total Candidate Count"},"candidates_truncated":{"type":"boolean","title":"Candidates Truncated"},"candidates":{"items":{"$ref":"#/components/schemas/PublicVariantSearchCandidate"},"type":"array","maxItems":10,"title":"Candidates"}},"additionalProperties":false,"type":"object","required":["resolution","error","total_candidate_count","candidates_truncated","candidates"],"title":"PublicVariantSearchAmbiguousResponse"},"PublicVariantSearchCandidate":{"properties":{"identity":{"$ref":"#/components/schemas/PublicVariantIdentity"},"gene_symbol":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gene Symbol"},"transcript_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Transcript Id"},"hgvs_genomic":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hgvs Genomic"},"hgvs_cdna":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hgvs Cdna"},"hgvs_protein":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hgvs Protein"}},"additionalProperties":false,"type":"object","required":["identity","gene_symbol","transcript_id","hgvs_genomic","hgvs_cdna","hgvs_protein"],"title":"PublicVariantSearchCandidate"},"PublicVariantSearchError":{"properties":{"code":{"type":"string","enum":["ambiguous_variant","variant_not_found"],"title":"Code"},"message":{"type":"string","minLength":1,"title":"Message"},"retryable":{"type":"boolean","const":false,"title":"Retryable","default":false}},"additionalProperties":false,"type":"object","required":["code","message"],"title":"PublicVariantSearchError"},"PublicVariantSearchInvalidRequestError":{"properties":{"code":{"type":"string","enum":["invalid_envelope","query_too_long","invalid_characters","malformed_coordinate","malformed_hgvs","malformed_spdi","malformed_rsid","reference_mismatch","invalid_allele_class"],"title":"Code"},"message":{"type":"string","minLength":1,"title":"Message"},"retryable":{"type":"boolean","const":false,"title":"Retryable","default":false}},"additionalProperties":false,"type":"object","required":["code","message"],"title":"PublicVariantSearchInvalidRequestError"},"PublicVariantSearchInvalidRequestResponse":{"properties":{"search_contract_version":{"type":"string","const":"1.0","title":"Search Contract Version","default":"1.0"},"status":{"type":"string","const":"invalid_request","title":"Status","default":"invalid_request"},"resolution":{"anyOf":[{"$ref":"#/components/schemas/PublicVariantResolutionMetadata"},{"type":"null"}]},"error":{"$ref":"#/components/schemas/PublicVariantSearchInvalidRequestError"}},"additionalProperties":false,"type":"object","required":["error"],"title":"PublicVariantSearchInvalidRequestResponse"},"PublicVariantSearchNotFoundResponse":{"properties":{"search_contract_version":{"type":"string","const":"1.0","title":"Search Contract Version","default":"1.0"},"status":{"type":"string","const":"not_found","title":"Status","default":"not_found"},"resolution":{"$ref":"#/components/schemas/PublicVariantResolutionMetadata"},"error":{"$ref":"#/components/schemas/PublicVariantSearchError"}},"additionalProperties":false,"type":"object","required":["resolution","error"],"title":"PublicVariantSearchNotFoundResponse"},"PublicVariantSearchResolvedResponse":{"properties":{"search_contract_version":{"type":"string","const":"1.0","title":"Search Contract Version","default":"1.0"},"status":{"type":"string","const":"resolved","title":"Status","default":"resolved"},"resolution":{"$ref":"#/components/schemas/PublicVariantResolutionMetadata"},"identity":{"$ref":"#/components/schemas/PublicVariantIdentity"},"interpretation":{"anyOf":[{"$ref":"#/components/schemas/PublicVariantSuccessResponse"},{"$ref":"#/components/schemas/PublicVariantUnavailableResponse"}],"title":"Interpretation"}},"additionalProperties":false,"type":"object","required":["resolution","identity","interpretation"],"title":"PublicVariantSearchResolvedResponse"},"PublicVariantSearchUnavailableError":{"properties":{"code":{"type":"string","enum":["resolver_asset_unavailable","resolver_asset_incompatible","reference_fasta_unavailable","resolver_timeout"],"title":"Code"},"message":{"type":"string","minLength":1,"title":"Message"},"retryable":{"type":"boolean","const":true,"title":"Retryable","default":true}},"additionalProperties":false,"type":"object","required":["code","message"],"title":"PublicVariantSearchUnavailableError"},"PublicVariantSearchUnavailableResponse":{"properties":{"search_contract_version":{"type":"string","const":"1.0","title":"Search Contract Version","default":"1.0"},"status":{"type":"string","const":"resolution_unavailable","title":"Status","default":"resolution_unavailable"},"resolution":{"anyOf":[{"$ref":"#/components/schemas/PublicVariantResolutionMetadata"},{"type":"null"}]},"error":{"$ref":"#/components/schemas/PublicVariantSearchUnavailableError"}},"additionalProperties":false,"type":"object","required":["error"],"title":"PublicVariantSearchUnavailableResponse"},"PublicVariantSearchUnsupportedError":{"properties":{"code":{"type":"string","enum":["unsupported_assembly","unsupported_query_type","unsupported_accession","unsupported_hgvs_expression","unsupported_variant_class","mitochondrial_not_supported","structural_variant_not_supported"],"title":"Code"},"message":{"type":"string","minLength":1,"title":"Message"},"retryable":{"type":"boolean","const":false,"title":"Retryable","default":false}},"additionalProperties":false,"type":"object","required":["code","message"],"title":"PublicVariantSearchUnsupportedError"},"PublicVariantSearchUnsupportedResponse":{"properties":{"search_contract_version":{"type":"string","const":"1.0","title":"Search Contract Version","default":"1.0"},"status":{"type":"string","const":"unsupported","title":"Status","default":"unsupported"},"resolution":{"anyOf":[{"$ref":"#/components/schemas/PublicVariantResolutionMetadata"},{"type":"null"}]},"error":{"$ref":"#/components/schemas/PublicVariantSearchUnsupportedError"}},"additionalProperties":false,"type":"object","required":["error"],"title":"PublicVariantSearchUnsupportedResponse"},"PublicVariantSuccessResponse":{"properties":{"transcript_representations":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Transcript Representations"},"contract_version":{"type":"string","const":"1.0","title":"Contract Version","default":"1.0"},"status":{"type":"string","const":"success","title":"Status","default":"success"},"identity":{"$ref":"#/components/schemas/PublicVariantIdentity"},"display":{"$ref":"#/components/schemas/PublicVariantDisplay"},"annotation":{"$ref":"#/components/schemas/PublicVariantAnnotation"},"evidence":{"$ref":"#/components/schemas/PublicVariantEvidence"},"classification":{"$ref":"#/components/schemas/PublicVariantClassification"},"provenance":{"$ref":"#/components/schemas/PublicVariantProvenance"},"warnings":{"items":{"type":"string","enum":["hgvs_display_incomplete","clinvar_evidence_not_available","expert_evidence_not_available","external_link_unavailable","evidence_truncated"]},"type":"array","title":"Warnings"},"limitations":{"$ref":"#/components/schemas/PublicVariantLimitations"}},"additionalProperties":false,"type":"object","required":["identity","display","annotation","evidence","classification","provenance","warnings","limitations"],"title":"PublicVariantSuccessResponse"},"PublicVariantUnavailableError":{"properties":{"code":{"type":"string","enum":["annotation_unavailable","reference_data_unavailable","classification_unavailable"],"title":"Code"},"message":{"type":"string","minLength":1,"title":"Message"},"retryable":{"type":"boolean","const":true,"title":"Retryable","default":true}},"additionalProperties":false,"type":"object","required":["code","message"],"title":"PublicVariantUnavailableError"},"PublicVariantUnavailableResponse":{"properties":{"contract_version":{"type":"string","const":"1.0","title":"Contract Version","default":"1.0"},"status":{"type":"string","const":"unavailable","title":"Status","default":"unavailable"},"identity":{"$ref":"#/components/schemas/PublicVariantIdentity"},"display":{"$ref":"#/components/schemas/PublicVariantDisplay"},"error":{"$ref":"#/components/schemas/PublicVariantUnavailableError"},"provenance":{"$ref":"#/components/schemas/PublicVariantProvenance"},"warnings":{"items":{"type":"string","enum":["hgvs_display_incomplete","clinvar_evidence_not_available","expert_evidence_not_available","external_link_unavailable","evidence_truncated"]},"type":"array","title":"Warnings"},"limitations":{"$ref":"#/components/schemas/PublicVariantLimitations"}},"additionalProperties":false,"type":"object","required":["identity","display","error","provenance","warnings","limitations"],"title":"PublicVariantUnavailableResponse"},"PublicVariantValidationErrorResponse":{"properties":{"contract_version":{"type":"string","const":"1.0","title":"Contract Version","default":"1.0"},"status":{"type":"string","const":"invalid_request","title":"Status","default":"invalid_request"},"error":{"$ref":"#/components/schemas/PublicVariantInvalidRequestError"},"limitations":{"$ref":"#/components/schemas/PublicVariantLimitations"}},"additionalProperties":false,"type":"object","required":["error","limitations"],"title":"PublicVariantValidationErrorResponse"},"QCCheckRequest":{"properties":{"analysis_type":{"type":"string","title":"Analysis Type","description":"Analysis type: wgs or wes"}},"type":"object","required":["analysis_type"],"title":"QCCheckRequest","description":"Request schema for running QC checks.","example":{"analysis_type":"wgs"}},"QCMetricsResponse":{"properties":{"session_id":{"type":"string","title":"Session Id"},"total_variants":{"type":"integer","title":"Total Variants"},"ti_tv_ratio":{"type":"number","title":"Ti Tv Ratio"},"het_hom_ratio":{"type":"number","title":"Het Hom Ratio"},"mean_depth":{"type":"number","title":"Mean Depth"},"pct_bases_above_10x":{"type":"number","title":"Pct Bases Above 10X"},"qc_passed":{"type":"boolean","title":"Qc Passed"},"failure_reasons":{"items":{"type":"string"},"type":"array","title":"Failure Reasons"}},"type":"object","required":["session_id","total_variants","ti_tv_ratio","het_hom_ratio","mean_depth","pct_bases_above_10x","qc_passed","failure_reasons"],"title":"QCMetricsResponse","description":"Response schema for QC metrics."},"Query":{"properties":{"kind":{"type":"string","enum":["gene","disease"],"title":"Kind"},"value":{"type":"string","title":"Value"},"match":{"type":"string","enum":["exact","name_contains"],"title":"Match"}},"additionalProperties":false,"type":"object","required":["kind","value","match"],"title":"Query"},"ReadyResponse":{"properties":{"status":{"type":"string","const":"ready","title":"Status"},"source":{"$ref":"#/components/schemas/variant_analysis_service__presentation__schemas__public_gene_disease_schemas__Source"}},"additionalProperties":false,"type":"object","required":["status","source"],"title":"ReadyResponse"},"RebuildReferenceDBRequest":{"properties":{"confirm":{"type":"boolean","title":"Confirm","default":false}},"type":"object","title":"RebuildReferenceDBRequest","description":"Request for POST /preprocessing/rebuild-reference-db."},"ReclassificationRunDetailSchema":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"started_at":{"type":"string","format":"date-time","title":"Started At"},"finished_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Finished At"},"target_version":{"type":"string","title":"Target Version"},"target_version_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Version Label"},"scope":{"type":"string","title":"Scope"},"organization_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Organization Id"},"user_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"User Ids"},"notify":{"type":"boolean","title":"Notify"},"status":{"type":"string","title":"Status"},"sessions_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sessions Total"},"sessions_succeeded":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sessions Succeeded"},"sessions_failed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sessions Failed"},"sessions_skipped":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sessions Skipped"},"elapsed_seconds":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Elapsed Seconds"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"log_storage_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Log Storage Path"},"results_storage_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Results Storage Path"},"log_compute_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Log Compute Path"},"results_compute_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Results Compute Path"},"triggered_by_user_id":{"type":"string","format":"uuid","title":"Triggered By User Id"},"triggered_by_user_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Triggered By User Name"},"triggered_by_user_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Triggered By User Email"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","started_at","target_version","scope","notify","status","triggered_by_user_id","created_at","updated_at"],"title":"ReclassificationRunDetailSchema","description":"Full run detail for single-run endpoint."},"ReclassificationRunListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ReclassificationRunSummarySchema"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"ReclassificationRunListResponse","description":"Paginated list response."},"ReclassificationRunSummarySchema":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"started_at":{"type":"string","format":"date-time","title":"Started At"},"finished_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Finished At"},"target_version":{"type":"string","title":"Target Version"},"target_version_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Version Label"},"scope":{"type":"string","title":"Scope"},"organization_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Organization Id"},"status":{"type":"string","title":"Status"},"sessions_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sessions Total"},"sessions_succeeded":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sessions Succeeded"},"sessions_failed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sessions Failed"},"sessions_skipped":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sessions Skipped"},"elapsed_seconds":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Elapsed Seconds"},"triggered_by_user_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Triggered By User Email"}},"type":"object","required":["id","started_at","target_version","scope","status"],"title":"ReclassificationRunSummarySchema","description":"Compact run summary for list endpoint."},"ReclassificationStatusResponse":{"properties":{"run_id":{"type":"string","title":"Run Id"},"status":{"type":"string","title":"Status"},"target_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Version"},"progress_current":{"type":"integer","title":"Progress Current","default":0},"progress_total":{"type":"integer","title":"Progress Total","default":0},"elapsed_seconds":{"type":"number","title":"Elapsed Seconds","default":0},"log_lines":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Log Lines"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["run_id","status"],"title":"ReclassificationStatusResponse"},"ReferenceDBSummarySchema":{"properties":{"exists":{"type":"boolean","title":"Exists"},"file_path":{"type":"string","title":"File Path"},"file_size_bytes":{"type":"integer","title":"File Size Bytes","default":0},"file_size_human":{"type":"string","title":"File Size Human","default":"0 B"},"last_modified":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Modified"},"tables":{"items":{"type":"string"},"type":"array","title":"Tables","default":[]},"total_rows":{"type":"integer","title":"Total Rows","default":0}},"type":"object","required":["exists","file_path"],"title":"ReferenceDBSummarySchema","description":"Summary of reference_db.duckdb."},"ReferenceDBTableSchema":{"properties":{"loaded":{"type":"boolean","title":"Loaded"},"table_name":{"type":"string","title":"Table Name"},"row_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Row Count"},"column_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Column Count"}},"type":"object","required":["loaded","table_name"],"title":"ReferenceDBTableSchema","description":"Status of a table in reference_db.duckdb."},"ReprocessSessionRequest":{"properties":{"reclassify":{"type":"boolean","title":"Reclassify","description":"Re-run ACMG classification after annotation","default":true},"regenerate_summaries":{"type":"boolean","title":"Regenerate Summaries","description":"Re-export gene_summaries.ndjson.gz","default":true}},"type":"object","title":"ReprocessSessionRequest","description":"Request body for POST /sessions/{session_id}/reprocess."},"ReprocessSessionResponse":{"properties":{"task_id":{"type":"string","title":"Task Id"},"session_id":{"type":"string","format":"uuid","title":"Session Id"},"status":{"type":"string","title":"Status","default":"queued"}},"type":"object","required":["task_id","session_id"],"title":"ReprocessSessionResponse","description":"Response for reprocess endpoint (202 Accepted)."},"ResolveRequest":{"properties":{"query":{"type":"string","maxLength":128,"minLength":1,"title":"Query"},"request_id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,64}$","title":"Request Id"}},"additionalProperties":false,"type":"object","required":["query","request_id"],"title":"ResolveRequest"},"ResolveResponse":{"properties":{"schema_version":{"type":"string","const":"1.0","title":"Schema Version","default":"1.0"},"request_id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,64}$","title":"Request Id"},"identity_snapshot_id":{"type":"string","pattern":"^[a-f0-9]{64}$","title":"Identity Snapshot Id"},"status":{"type":"string","enum":["exact","alias","ambiguous","not_found","withdrawn"],"title":"Status"},"normalized_query":{"type":"string","maxLength":200,"minLength":1,"title":"Normalized Query"},"candidates":{"items":{"$ref":"#/components/schemas/Candidate"},"type":"array","maxItems":50,"title":"Candidates"},"candidate_total":{"type":"integer","minimum":0.0,"title":"Candidate Total"},"complete":{"type":"boolean","const":true,"title":"Complete","default":true}},"additionalProperties":false,"type":"object","required":["request_id","identity_snapshot_id","status","normalized_query","candidates","candidate_total"],"title":"ResolveResponse"},"ResolverAllele":{"properties":{"assembly":{"type":"string","const":"GRCh38","title":"Assembly"},"chromosome":{"type":"string","maxLength":200,"minLength":1,"title":"Chromosome"},"position":{"type":"integer","minimum":1.0,"title":"Position"},"reference":{"type":"string","maxLength":100,"pattern":"^[ACGT]+$","title":"Reference"},"alternate":{"type":"string","maxLength":100,"pattern":"^[ACGT]+$","title":"Alternate"}},"additionalProperties":false,"type":"object","required":["assembly","chromosome","position","reference","alternate"],"title":"ResolverAllele"},"RestoreBackupRequest":{"properties":{"confirm_backup_id":{"type":"string","title":"Confirm Backup Id","description":"Must match the backup_id in the URL to confirm restore"}},"type":"object","required":["confirm_backup_id"],"title":"RestoreBackupRequest","description":"Request to restore from a backup."},"RestoreStartedResponse":{"properties":{"backup_id":{"type":"string","title":"Backup Id"},"restore_id":{"type":"string","title":"Restore Id"},"pre_restore_backup_id":{"type":"string","title":"Pre Restore Backup Id"},"status":{"$ref":"#/components/schemas/BackupStatus"}},"type":"object","required":["backup_id","restore_id","pre_restore_backup_id","status"],"title":"RestoreStartedResponse","description":"Response after initiating a restore."},"ReviewBoardAuthor":{"properties":{"name":{"type":"string","title":"Name"},"initials":{"type":"string","title":"Initials"}},"type":"object","required":["name","initials"],"title":"ReviewBoardAuthor","description":"Compact author info for display."},"ReviewBoardItemResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user":{"$ref":"#/components/schemas/ReviewBoardAuthor"},"variant_idx":{"type":"integer","title":"Variant Idx"},"added_at":{"type":"string","format":"date-time","title":"Added At"}},"type":"object","required":["id","user","variant_idx","added_at"],"title":"ReviewBoardItemResponse","description":"Response for a single review board item."},"ReviewBoardListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ReviewBoardItemResponse"},"type":"array","title":"Items"},"total_count":{"type":"integer","title":"Total Count"}},"type":"object","required":["items","total_count"],"title":"ReviewBoardListResponse","description":"Response for listing review board items."},"RunReclassificationRequest":{"properties":{"target_version":{"type":"string","title":"Target Version"},"version_description":{"type":"string","title":"Version Description"},"scope":{"type":"string","title":"Scope"},"organization_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Id"},"user_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"User Ids"},"notify":{"type":"boolean","title":"Notify","default":true},"confirm":{"type":"boolean","title":"Confirm","default":false}},"type":"object","required":["target_version","version_description","scope"],"title":"RunReclassificationRequest"},"RunSimulationRequest":{"properties":{"cr_id":{"type":"string","title":"Cr Id"},"scope":{"type":"string","title":"Scope"},"organization_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Id"},"user_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"User Ids"}},"type":"object","required":["cr_id","scope"],"title":"RunSimulationRequest"},"SectionRequest":{"properties":{"gene_id":{"type":"string","pattern":"^HGNC:[1-9][0-9]*$","title":"Gene Id"},"request_id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,64}$","title":"Request Id"},"snapshot_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"title":"Snapshot Id"},"section":{"type":"string","enum":["overview","disease_validity","structure","constraint","dosage","mechanisms","clinical_variants","clinical_variant_consequences","expression","gwas","phenotypes","protein_pathways","literature"],"title":"Section"},"limit":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Limit","default":20},"cursor":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Cursor"}},"additionalProperties":false,"type":"object","required":["gene_id","request_id","section"],"title":"SectionRequest"},"SectionResponse":{"properties":{"gene_id":{"type":"string","pattern":"^HGNC:[1-9][0-9]*$","title":"Gene Id"},"section":{"type":"string","enum":["overview","disease_validity","structure","constraint","dosage","mechanisms","clinical_variants","clinical_variant_consequences","expression","gwas","phenotypes","protein_pathways","literature"],"title":"Section"},"status":{"type":"string","enum":["available","source_has_no_record","unavailable","not_integrated","not_applicable"],"title":"Status"},"coverage":{"type":"string","enum":["complete","partial","truncated","unknown"],"title":"Coverage"},"coverage_scope":{"type":"string","maxLength":2000,"minLength":1,"title":"Coverage Scope"},"freshness":{"$ref":"#/components/schemas/Freshness"},"source_ids":{"items":{"type":"string","maxLength":200,"minLength":1},"type":"array","maxItems":50,"title":"Source Ids"},"data":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/OverviewData"},{"$ref":"#/components/schemas/DiseaseData"},{"$ref":"#/components/schemas/StructureData"},{"$ref":"#/components/schemas/ConstraintData"},{"$ref":"#/components/schemas/DosageData"},{"$ref":"#/components/schemas/MechanismsData"},{"$ref":"#/components/schemas/ClinicalVariantsData"},{"$ref":"#/components/schemas/ClinicalConsequencesData"},{"$ref":"#/components/schemas/ExpressionData"},{"$ref":"#/components/schemas/GwasData"},{"$ref":"#/components/schemas/PhenotypesData"},{"$ref":"#/components/schemas/ProteinPathwaysData"}],"discriminator":{"propertyName":"kind","mapping":{"clinical_variant_consequences":"#/components/schemas/ClinicalConsequencesData","clinical_variants":"#/components/schemas/ClinicalVariantsData","constraint":"#/components/schemas/ConstraintData","disease_validity":"#/components/schemas/DiseaseData","dosage":"#/components/schemas/DosageData","expression":"#/components/schemas/ExpressionData","gwas":"#/components/schemas/GwasData","mechanisms":"#/components/schemas/MechanismsData","overview":"#/components/schemas/OverviewData","phenotypes":"#/components/schemas/PhenotypesData","protein_pathways":"#/components/schemas/ProteinPathwaysData","structure":"#/components/schemas/StructureData"}}},{"type":"null"}],"title":"Data"},"limitations":{"items":{"type":"string","maxLength":2000,"minLength":1},"type":"array","maxItems":30,"title":"Limitations"},"request_id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,64}$","title":"Request Id"},"snapshot_id":{"type":"string","pattern":"^[a-f0-9]{64}$","title":"Snapshot Id"},"pagination":{"anyOf":[{"$ref":"#/components/schemas/variant_analysis_service__presentation__schemas__public_gene_schemas__Pagination"},{"type":"null"}]}},"additionalProperties":false,"type":"object","required":["gene_id","section","status","coverage","coverage_scope","freshness","source_ids","data","limitations","request_id","snapshot_id","pagination"],"title":"SectionResponse"},"SeparateVcfMemberSpec":{"properties":{"vcf_file_path":{"type":"string","title":"Vcf File Path"},"family_role":{"type":"string","title":"Family Role"},"affected_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Affected Status"},"case_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Case Label"},"sex":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sex"},"staging_session_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Staging Session Id"},"clinical_profile":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Clinical Profile"}},"type":"object","required":["vcf_file_path","family_role"],"title":"SeparateVcfMemberSpec","description":"Single member spec for separate-mode trio upload.\n\nEach member is a single-sample VCF (1 sample per file). Distinct from\nJointVcfSampleMapping which references a sample WITHIN a multi-sample VCF.\n\nPhase 3-B: sex field added (Jules N1 review 2026-05-08) for inheritance\nanalysis. Optional with WARN log on emit if NULL (architectural lock).\n\nHELIX-CR-2026-FAMILY-CLINICAL-PIPELINE-ARCHITECTURE-001: added\nclinical_profile for proband HPO transport from /create/trio flow.\nFrontend supplies a non-None dict only on the proband member;\nparent members carry None. SO writes NDJSON before dispatch."},"SessionAnnotationsResponse":{"properties":{"session_id":{"type":"string","format":"uuid","title":"Session Id"},"annotations":{"items":{"$ref":"#/components/schemas/AnnotationRecord"},"type":"array","title":"Annotations"},"total_count":{"type":"integer","title":"Total Count","description":"Number of annotated variants in this session."}},"type":"object","required":["session_id","annotations","total_count"],"title":"SessionAnnotationsResponse","description":"All annotations for a session, for internal consumer merging."},"SettingResponse":{"properties":{"key":{"type":"string","title":"Key"},"service":{"type":"string","title":"Service"},"config_path":{"type":"string","title":"Config Path"},"value_type":{"type":"string","title":"Value Type"},"default":{"title":"Default"},"effective_value":{"title":"Effective Value"},"apply":{"type":"string","title":"Apply"},"clinical_relevant":{"type":"boolean","title":"Clinical Relevant"},"label":{"type":"string","title":"Label"},"description":{"type":"string","title":"Description"},"minimum":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum"},"maximum":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Maximum"},"allowed_values":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Allowed Values"},"is_overridden":{"type":"boolean","title":"Is Overridden","default":false},"updated_by_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated By User Id"},"updated_by_user_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated By User Name"},"updated_by_user_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated By User Email"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"},"change_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Change Reason"},"degrading_consequence":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Degrading Consequence"},"degrading_target_value":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Degrading Target Value"}},"type":"object","required":["key","service","config_path","value_type","default","effective_value","apply","clinical_relevant","label","description"],"title":"SettingResponse"},"SettingsListResponse":{"properties":{"settings":{"items":{"$ref":"#/components/schemas/SettingResponse"},"type":"array","title":"Settings"}},"type":"object","required":["settings"],"title":"SettingsListResponse"},"SimulationStatusResponse":{"properties":{"run_id":{"type":"string","title":"Run Id"},"status":{"type":"string","title":"Status"},"cr_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cr Id"},"progress_current":{"type":"integer","title":"Progress Current","default":0},"progress_total":{"type":"integer","title":"Progress Total","default":0},"elapsed_seconds":{"type":"number","title":"Elapsed Seconds","default":0},"result":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Result"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"log_lines":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Log Lines"}},"type":"object","required":["run_id","status"],"title":"SimulationStatusResponse"},"SourceStatusSchema":{"properties":{"exists":{"type":"boolean","title":"Exists"},"path":{"type":"string","title":"Path"},"files_found":{"type":"integer","title":"Files Found","default":0},"files_expected":{"type":"integer","title":"Files Expected","default":0},"total_size_bytes":{"type":"integer","title":"Total Size Bytes","default":0},"total_size_human":{"type":"string","title":"Total Size Human","default":"0 B"},"oldest_file_modified":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Oldest File Modified"},"newest_file_modified":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Newest File Modified"}},"type":"object","required":["exists","path"],"title":"SourceStatusSchema","description":"Source files on disk."},"StarVariantRequest":{"properties":{"variant_idx":{"type":"integer","minimum":0.0,"title":"Variant Idx","description":"Variant index to add to review board"}},"type":"object","required":["variant_idx"],"title":"StarVariantRequest","description":"Request to star a variant for review."},"StartBackupRequest":{"properties":{"level":{"$ref":"#/components/schemas/BackupLevel","description":"Backup level: quick (PostgreSQL + sessions), full (+ literature DB), complete (+ reference DB)","default":"quick"}},"type":"object","title":"StartBackupRequest","description":"Request to start a new backup."},"StartBackupResponse":{"properties":{"backup_id":{"type":"string","title":"Backup Id"},"status":{"$ref":"#/components/schemas/BackupStatus"}},"type":"object","required":["backup_id","status"],"title":"StartBackupResponse","description":"Response after starting a backup."},"StructureData":{"properties":{"kind":{"type":"string","const":"structure","title":"Kind"},"count_unit":{"type":"string","const":"source_transcript_model","title":"Count Unit","default":"source_transcript_model"},"transcript_scope":{"type":"string","enum":["MANE","provider_catalog","multi_source_native"],"title":"Transcript Scope"},"distinct_transcript_total":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Distinct Transcript Total"},"records":{"items":{"$ref":"#/components/schemas/Transcript"},"type":"array","maxItems":5000,"title":"Records"}},"additionalProperties":false,"type":"object","required":["kind","transcript_scope","records"],"title":"StructureData"},"StuckMigrationsResponse":{"properties":{"run_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Run Ids"},"older_than_minutes":{"type":"integer","title":"Older Than Minutes"}},"type":"object","required":["run_ids","older_than_minutes"],"title":"StuckMigrationsResponse","description":"Response for GET /internal/reclassification/runs/stuck-migrations.\n\nUsed by SO recovery beat task to find runs that need re-migration\n(status='completed' but log_storage_path IS NULL after threshold)."},"SvPresenceResponse":{"properties":{"has_sv":{"type":"boolean","title":"Has Sv"}},"type":"object","required":["has_sv"],"title":"SvPresenceResponse","description":"Whether any row in the complete session has a non-null SV type."},"TaskCreatedResponse":{"properties":{"task_id":{"type":"string","title":"Task Id"},"status":{"type":"string","title":"Status"},"databases":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Databases"},"status_url":{"type":"string","title":"Status Url"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"warning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Warning"}},"type":"object","required":["task_id","status","status_url"],"title":"TaskCreatedResponse","description":"Response for task creation endpoints (202 Accepted)."},"TaskListResponse":{"properties":{"tasks":{"items":{"$ref":"#/components/schemas/TaskStatusSchema"},"type":"array","title":"Tasks"},"total":{"type":"integer","title":"Total"},"running":{"type":"integer","title":"Running"}},"type":"object","required":["tasks","total","running"],"title":"TaskListResponse","description":"Response for GET /preprocessing/tasks."},"TaskStatusSchema":{"properties":{"task_id":{"type":"string","title":"Task Id"},"status":{"type":"string","title":"Status"},"started_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Started At"},"completed_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Completed At"},"elapsed_seconds":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Elapsed Seconds"},"databases":{"additionalProperties":true,"type":"object","title":"Databases","default":{}},"current_database":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Database"},"current_step":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Step"},"log_tail":{"items":{"type":"string"},"type":"array","title":"Log Tail","default":[]},"successful":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Successful"},"failed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Failed"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"}},"type":"object","required":["task_id","status"],"title":"TaskStatusSchema","description":"Task progress response."},"Transcript":{"properties":{"transcript_id":{"type":"string","maxLength":200,"minLength":1,"title":"Transcript Id"},"source_id":{"type":"string","maxLength":200,"minLength":1,"title":"Source Id"},"assembly":{"type":"string","enum":["GRCh37","GRCh38"],"title":"Assembly"},"assembly_accession":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Assembly Accession"},"annotation_release":{"type":"string","maxLength":200,"minLength":1,"title":"Annotation Release"},"coordinate_system":{"type":"string","const":"1-based-closed","title":"Coordinate System"},"contig":{"type":"string","maxLength":200,"minLength":1,"title":"Contig"},"strand":{"type":"string","enum":["+","-"],"title":"Strand"},"start":{"type":"integer","minimum":1.0,"title":"Start"},"end":{"type":"integer","minimum":1.0,"title":"End"},"mane_status":{"anyOf":[{"type":"string","enum":["Select","Plus Clinical"]},{"type":"null"}],"title":"Mane Status"},"refseq_transcript":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Refseq Transcript"},"refseq_protein":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Refseq Protein"},"protein_id":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Protein Id"},"protein_length":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Protein Length"},"exons":{"items":{"$ref":"#/components/schemas/Exon"},"type":"array","maxItems":1000,"minItems":1,"title":"Exons"},"coding_segments":{"items":{"$ref":"#/components/schemas/CodingSegment"},"type":"array","maxItems":1000,"title":"Coding Segments"},"stop_codon_segments":{"items":{"$ref":"#/components/schemas/Exon"},"type":"array","maxItems":3,"title":"Stop Codon Segments"}},"additionalProperties":false,"type":"object","required":["transcript_id","source_id","assembly","assembly_accession","annotation_release","coordinate_system","contig","strand","start","end","mane_status","refseq_transcript","protein_id","exons"],"title":"Transcript"},"TranscriptMappingRequest":{"properties":{"rows":{"items":{"$ref":"#/components/schemas/TranscriptMappingRow"},"type":"array","maxItems":100,"title":"Rows"}},"additionalProperties":false,"type":"object","required":["rows"],"title":"TranscriptMappingRequest"},"TranscriptMappingRow":{"properties":{"assembly":{"anyOf":[{"type":"string","maxLength":16},{"type":"null"}],"title":"Assembly"},"chromosome":{"anyOf":[{"type":"string","maxLength":16},{"type":"null"}],"title":"Chromosome"},"position":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Position"},"reference_allele":{"anyOf":[{"type":"string","maxLength":1001},{"type":"null"}],"title":"Reference Allele"},"alternate_allele":{"anyOf":[{"type":"string","maxLength":1001},{"type":"null"}],"title":"Alternate Allele"},"transcript_id":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Transcript Id"},"hgvs_cdna":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Hgvs Cdna"},"hgvs_protein":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Hgvs Protein"},"processing_notes":{"anyOf":[{"type":"string","maxLength":4096},{"type":"null"}],"title":"Processing Notes"}},"additionalProperties":false,"type":"object","title":"TranscriptMappingRow"},"UpdateAllRequest":{"properties":{"databases":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Databases"},"force":{"type":"boolean","title":"Force","default":false}},"type":"object","title":"UpdateAllRequest","description":"Request for POST /preprocessing/update-all."},"UpdateCurationRequest":{"properties":{"curation":{"$ref":"#/components/schemas/MtdnaCurationFields","description":"Partial update -- only fields explicitly set by client are persisted. Unset fields retain previous values."},"pipeline_acmg_class":{"type":"string","pattern":"^(P|LP|VUS|LB|B)$","title":"Pipeline Acmg Class","description":"Pipeline-original ACMG class read from variants list. Captured for audit before/after comparison."},"pipeline_acmg_criteria":{"type":"string","title":"Pipeline Acmg Criteria","description":"Pipeline-original ACMG criteria string. Captured for audit."}},"type":"object","required":["curation","pipeline_acmg_class","pipeline_acmg_criteria"],"title":"UpdateCurationRequest","description":"PATCH /sessions/{sid}/variants/{vidx}/mtdna-curation request body.\n\nWraps MtdnaCurationFields with pipeline classification capture for\naudit trail. Pipeline values are read by frontend from the variants\nlist (DuckDB raw_variants); server records them verbatim in audit\nmetadata for reproducibility."},"UpdateDatabaseRequest":{"properties":{"steps":{"items":{"type":"string"},"type":"array","title":"Steps","default":["download","convert","load"]},"force":{"type":"boolean","title":"Force","default":false}},"type":"object","title":"UpdateDatabaseRequest","description":"Request for POST /preprocessing/databases/{db_name}/update."},"UpdateNoteRequest":{"properties":{"text":{"type":"string","maxLength":5000,"minLength":1,"title":"Text","description":"Updated note content"}},"type":"object","required":["text"],"title":"UpdateNoteRequest","description":"Request to update a note's text."},"UpdateSettingRequest":{"properties":{"value":{"title":"Value"},"change_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Change Reason"}},"type":"object","required":["value"],"title":"UpdateSettingRequest"},"UsageBoundary":{"properties":{"intended_use":{"type":"string","const":"professional_gene_disease_review","title":"Intended Use"},"patient_context_evaluated":{"type":"boolean","const":false,"title":"Patient Context Evaluated"},"review_required":{"type":"boolean","const":true,"title":"Review Required"},"not_for":{"items":{"type":"string","enum":["patient_diagnosis","treatment_decision","variant_pathogenicity_classification"]},"type":"array","title":"Not For"}},"additionalProperties":false,"type":"object","required":["intended_use","patient_context_evaluated","review_required","not_for"],"title":"UsageBoundary"},"UserAttribution":{"properties":{"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"User UUID. May be None for historical records migrated from DuckDB where original user was not tracked."},"user_name":{"type":"string","title":"User Name","description":"Display name of the user. For historical records, may be 'system:historical-migration' or 'unknown-historical'."},"timestamp":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Timestamp","description":"When the action occurred. None for historical records without precise timestamp."}},"type":"object","required":["user_name"],"title":"UserAttribution","description":"Identifies a user who performed an action, with optional timestamp.\n\nUsed in flag/override responses and annotation records. Both user_id\nand user_name are required — user_id for system references, user_name\nfor display. timestamp optional because some historical records\n(migrated from DuckDB) lack precise timestamps."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"ValidationSchema":{"properties":{"passed":{"type":"boolean","title":"Passed"},"checks":{"additionalProperties":true,"type":"object","title":"Checks","default":{}}},"type":"object","required":["passed"],"title":"ValidationSchema","description":"Validation results."},"VariantDetailResponse":{"properties":{"variant":{"additionalProperties":true,"type":"object","title":"Variant","description":"Complete variant data"}},"type":"object","required":["variant"],"title":"VariantDetailResponse","description":"Detailed single variant response.","example":{"variant":{"acmg_class":"P","alternate_allele":"A","chromosome":"chr7","gene_symbol":"CFTR","position":117559590,"priority_score":85.3,"reference_allele":"G","variant_idx":42}}},"VariantQCMetrics":{"properties":{"total_records":{"type":"integer","title":"Total Records"},"snv_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Snv Count"},"transitions":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Transitions"},"transversions":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Transversions"},"ti_tv_ratio":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ti Tv Ratio"},"depth_record_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Depth Record Count"},"mean_depth":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Mean Depth"},"depth_ge_10_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Depth Ge 10 Count"},"pct_variant_records_ge_10x":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct Variant Records Ge 10X"},"diploid_genotype_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Diploid Genotype Count"},"heterozygous_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Heterozygous Count"},"homozygous_alt_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Homozygous Alt Count"},"het_hom_alt_ratio":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Het Hom Alt Ratio"},"filter_record_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Filter Record Count"},"pass_filter_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pass Filter Count"},"failed_filter_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Failed Filter Count"},"not_applied_filter_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Not Applied Filter Count"},"unknown_filter_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Unknown Filter Count"},"pct_pass_filter":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct Pass Filter"},"computed_at":{"type":"string","title":"Computed At"}},"type":"object","required":["total_records","snv_count","transitions","transversions","ti_tv_ratio","depth_record_count","mean_depth","depth_ge_10_count","pct_variant_records_ge_10x","diploid_genotype_count","heterozygous_count","homozygous_alt_count","het_hom_alt_ratio","filter_record_count","pass_filter_count","failed_filter_count","not_applied_filter_count","unknown_filter_count","pct_pass_filter","computed_at"],"title":"VariantQCMetrics"},"VariantQCResponse":{"properties":{"session_id":{"type":"string","title":"Session Id"},"available":{"type":"boolean","title":"Available"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"},"scope":{"type":"string","const":"stored_variant_records","title":"Scope"},"schema_version":{"type":"integer","const":1,"title":"Schema Version"},"single_sample":{"type":"boolean","title":"Single Sample"},"thresholds_applied":{"type":"boolean","const":false,"title":"Thresholds Applied"},"sample_metrics_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sample Metrics Reason"},"metrics":{"anyOf":[{"$ref":"#/components/schemas/VariantQCMetrics"},{"type":"null"}]}},"type":"object","required":["session_id","available","reason","scope","schema_version","single_sample","thresholds_applied","sample_metrics_reason","metrics"],"title":"VariantQCResponse"},"VariantQueryResponse":{"properties":{"sv_counts":{"anyOf":[{"additionalProperties":{"additionalProperties":{"type":"integer"},"type":"object"},"type":"object"},{"type":"null"}],"title":"Sv Counts"},"variants":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Variants","description":"List of variants"},"total_count":{"type":"integer","title":"Total Count","description":"Total number of variants matching filters"},"page":{"type":"integer","title":"Page","description":"Current page number"},"page_size":{"type":"integer","title":"Page Size","description":"Number of variants per page"},"total_pages":{"type":"integer","title":"Total Pages","description":"Total number of pages"},"has_next_page":{"type":"boolean","title":"Has Next Page","description":"Whether there is a next page"},"has_previous_page":{"type":"boolean","title":"Has Previous Page","description":"Whether there is a previous page"}},"type":"object","required":["variants","total_count","page","page_size","total_pages","has_next_page","has_previous_page"],"title":"VariantQueryResponse","example":{"has_next_page":true,"has_previous_page":false,"page":1,"page_size":50,"total_count":150,"total_pages":3,"variants":[{"acmg_class":"P","chromosome":"chr7","gene_symbol":"CFTR","position":117559590,"priority_score":85.3,"variant_idx":42}]}},"VariantStatisticsResponse":{"properties":{"total_variants":{"type":"integer","title":"Total Variants"},"classification_breakdown":{"additionalProperties":{"type":"integer"},"type":"object","title":"Classification Breakdown"},"tier_breakdown":{"additionalProperties":{"type":"integer"},"type":"object","title":"Tier Breakdown"},"impact_breakdown":{"additionalProperties":{"type":"integer"},"type":"object","title":"Impact Breakdown"},"top_genes":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Top Genes"},"curated_count":{"type":"integer","title":"Curated Count","description":"mtDNA curated variant count","default":0}},"type":"object","required":["total_variants","classification_breakdown","impact_breakdown","top_genes"],"title":"VariantStatisticsResponse","description":"Variant statistics response.","example":{"classification_breakdown":{"benign":10,"likely_benign":20,"likely_pathogenic":25,"pathogenic":15,"vus":80},"impact_breakdown":{"high":30,"low":40,"moderate":80},"top_genes":[{"gene_symbol":"BRCA1","variant_count":15},{"gene_symbol":"TP53","variant_count":12}],"total_variants":150}},"VcfValidateMultisampleRequest":{"properties":{"vcf_file_path":{"type":"string","title":"Vcf File Path"}},"type":"object","required":["vcf_file_path"],"title":"VcfValidateMultisampleRequest","description":"POST /api/v1/vcf/validate-multisample request."},"VcfValidateMultisampleResponse":{"properties":{"sample_names":{"items":{"type":"string"},"type":"array","title":"Sample Names"},"sample_count":{"type":"integer","title":"Sample Count"}},"type":"object","required":["sample_names","sample_count"],"title":"VcfValidateMultisampleResponse","description":"VCF multi-sample validation response."},"VepCacheChromosomeEntry":{"properties":{"chromosome":{"type":"string","title":"Chromosome"},"positive":{"type":"integer","title":"Positive"},"negative":{"type":"integer","title":"Negative"}},"type":"object","required":["chromosome","positive","negative"],"title":"VepCacheChromosomeEntry","description":"Chromosome-level cache coverage."},"VepCacheConsequenceBreakdown":{"properties":{"consequence":{"type":"string","title":"Consequence"},"impact":{"type":"string","title":"Impact"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["consequence","impact","count"],"title":"VepCacheConsequenceBreakdown","description":"Single row in gene consequence breakdown."},"VepCacheDistributionEntry":{"properties":{"label":{"type":"string","title":"Label"},"count":{"type":"integer","title":"Count"},"pct":{"type":"number","title":"Pct","default":0.0}},"type":"object","required":["label","count"],"title":"VepCacheDistributionEntry","description":"Single row in a distribution breakdown."},"VepCacheSearchResult":{"properties":{"mode":{"type":"string","title":"Mode"},"query_time_ms":{"type":"integer","title":"Query Time Ms","default":0},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"positive_hits":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Positive Hits","default":[]},"negative_hits":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Negative Hits","default":[]},"gene":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gene"},"total_variants":{"type":"integer","title":"Total Variants","default":0},"consequence_breakdown":{"items":{"$ref":"#/components/schemas/VepCacheConsequenceBreakdown"},"type":"array","title":"Consequence Breakdown","default":[]},"sample_variants":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Sample Variants","default":[]}},"type":"object","required":["mode"],"title":"VepCacheSearchResult","description":"Response for GET /preprocessing/vep-cache/search."},"VepCacheStatsResponse":{"properties":{"file_exists":{"type":"boolean","title":"File Exists"},"file_size_bytes":{"type":"integer","title":"File Size Bytes","default":0},"file_size_human":{"type":"string","title":"File Size Human","default":"0 B"},"vep_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vep Version"},"positive_count":{"type":"integer","title":"Positive Count","default":0},"negative_count":{"type":"integer","title":"Negative Count","default":0},"total_count":{"type":"integer","title":"Total Count","default":0},"oldest_entry":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Oldest Entry"},"newest_entry":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Newest Entry"},"dedup_cutoff":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dedup Cutoff"},"impact_distribution":{"items":{"$ref":"#/components/schemas/VepCacheDistributionEntry"},"type":"array","title":"Impact Distribution","default":[]},"consequence_distribution":{"items":{"$ref":"#/components/schemas/VepCacheDistributionEntry"},"type":"array","title":"Consequence Distribution","default":[]},"biotype_distribution":{"items":{"$ref":"#/components/schemas/VepCacheDistributionEntry"},"type":"array","title":"Biotype Distribution","default":[]},"chromosome_distribution":{"items":{"$ref":"#/components/schemas/VepCacheChromosomeEntry"},"type":"array","title":"Chromosome Distribution","default":[]},"sample_positive":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Sample Positive","default":[]},"sample_negative":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Sample Negative","default":[]},"query_time_ms":{"type":"integer","title":"Query Time Ms","default":0}},"type":"object","required":["file_exists"],"title":"VepCacheStatsResponse","description":"Response for GET /preprocessing/vep-cache/stats."},"variant_analysis_service__presentation__schemas__public_gene_disease_schemas__Pagination":{"properties":{"limit":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Limit"},"offset":{"type":"integer","maximum":1000.0,"minimum":0.0,"title":"Offset"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"nextOffset":{"anyOf":[{"type":"integer","maximum":1000.0,"minimum":0.0},{"type":"null"}],"title":"Nextoffset"}},"additionalProperties":false,"type":"object","required":["limit","offset","total","nextOffset"],"title":"Pagination"},"variant_analysis_service__presentation__schemas__public_gene_disease_schemas__Source":{"properties":{"name":{"type":"string","const":"ClinGen Gene-Disease Validity","title":"Name"},"version":{"type":"string","title":"Version"},"snapshotSha256":{"type":"string","pattern":"^[a-f0-9]{64}$","title":"Snapshotsha256"},"downloadUrl":{"type":"string","title":"Downloadurl"},"license":{"type":"string","const":"CC0-1.0","title":"License"},"attribution":{"type":"string","title":"Attribution"}},"additionalProperties":false,"type":"object","required":["name","version","snapshotSha256","downloadUrl","license","attribution"],"title":"Source"},"variant_analysis_service__presentation__schemas__public_gene_schemas__Pagination":{"properties":{"observed_total":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Observed Total"},"total":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Total"},"returned":{"type":"integer","maximum":50.0,"minimum":0.0,"title":"Returned"},"count_unit":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Count Unit"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"}},"additionalProperties":false,"type":"object","required":["total","returned","count_unit","next_cursor"],"title":"Pagination"},"variant_analysis_service__presentation__schemas__public_gene_schemas__Source":{"properties":{"source_id":{"type":"string","maxLength":200,"minLength":1,"title":"Source Id"},"provider":{"type":"string","maxLength":200,"minLength":1,"title":"Provider"},"dataset":{"type":"string","maxLength":200,"minLength":1,"title":"Dataset"},"release":{"type":"string","maxLength":200,"minLength":1,"title":"Release"},"raw_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","title":"Raw Sha256"},"projection_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","title":"Projection Sha256"},"source_url":{"type":"string","maxLength":2000,"title":"Source Url"},"retrieved_at":{"type":"string","maxLength":200,"minLength":1,"title":"Retrieved At"},"provider_updated_at":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Provider Updated At"},"accepted_at":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Accepted At"},"transform_version":{"type":"string","maxLength":200,"minLength":1,"title":"Transform Version"},"rights_receipt_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","title":"Rights Receipt Sha256"},"public_display":{"type":"boolean","const":true,"title":"Public Display"},"attribution":{"type":"string","maxLength":2000,"minLength":1,"title":"Attribution"},"license_url":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"License Url"},"transformation_notice":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Transformation Notice"},"normalized_at":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Normalized At"},"source_metadata_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"title":"Source Metadata Sha256"}},"additionalProperties":false,"type":"object","required":["source_id","provider","dataset","release","raw_sha256","projection_sha256","source_url","retrieved_at","provider_updated_at","accepted_at","transform_version","rights_receipt_sha256","public_display","attribution"],"title":"Source"}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}}}}