{"openapi":"3.1.0","info":{"title":"papers-extraction API","version":"0.2.0"},"paths":{"/papers":{"get":{"tags":["data"],"summary":"Get Paper By Alt Id","description":"Return paper + latest-run genes, looked up by DOI or PMC ID.","operationId":"get_paper_by_alt_id_papers_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"doi","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"DOI, e.g. 10.1128/JB.01214-06","title":"Doi"},"description":"DOI, e.g. 10.1128/JB.01214-06"},{"name":"pmc_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"PMC ID, with or without PMC prefix","title":"Pmc Id"},"description":"PMC ID, with or without PMC prefix"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaperWithGenes"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/papers/{pmid}":{"get":{"tags":["data"],"summary":"Get Paper","description":"Return paper metadata + latest-run extracted genes for one PMID.","operationId":"get_paper_papers__pmid__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"pmid","in":"path","required":true,"schema":{"type":"integer","title":"Pmid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaperWithGenes"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/genes":{"get":{"tags":["data"],"summary":"List Genes","description":"List genes across papers, matching name/alias/locus_tag, has_* and field-value filters (latest run only).\n\nField-value filters: repeat a param to OR values; different fields AND.\nUnknown query params return 422. Returns a paged envelope: {items, total, next}.","operationId":"list_genes_genes_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Match gene_name or alias.","title":"Name"},"description":"Match gene_name or alias."},{"name":"locus_tag","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Match locus_tag (substring by default; exact with exact=true).","title":"Locus Tag"},"description":"Match locus_tag (substring by default; exact with exact=true)."},{"name":"exact","in":"query","required":false,"schema":{"type":"boolean","description":"Exact case-insensitive match for `name` and `locus_tag`.","default":false,"title":"Exact"},"description":"Exact case-insensitive match for `name` and `locus_tag`."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":5000,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"has_function_role","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Function Role"}},{"name":"has_pathway_regulation","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Pathway Regulation"}},{"name":"has_localization_context","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Localization Context"}},{"name":"has_phenotype","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Phenotype"}},{"name":"has_biofilm","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Biofilm"}},{"name":"has_relationships","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Relationships"}},{"name":"has_aliases","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Aliases"}},{"name":"has_notes","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Notes"}},{"name":"has_transcriptional_regulators","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Transcriptional Regulators"}},{"name":"has_post_transcriptional_regulators","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Post Transcriptional Regulators"}},{"name":"has_regulated_targets","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Regulated Targets"}},{"name":"has_physical_interactions","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Physical Interactions"}},{"name":"has_functional_interactions","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Functional Interactions"}},{"name":"has_operon_members","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Operon Members"}},{"name":"has_chromosomal_locus","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Chromosomal Locus"}},{"name":"regulatory_protein","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Regulatory Protein"}},{"name":"regulatory_rna","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Regulatory Rna"}},{"name":"regulates_transcription","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Regulates Transcription"}},{"name":"regulates_transcript_stability","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Regulates Transcript Stability"}},{"name":"regulates_translation","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Regulates Translation"}},{"name":"regulates_protein_stability","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Regulates Protein Stability"}},{"name":"enzyme","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Enzyme"}},{"name":"rna_chaperone","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Rna Chaperone"}},{"name":"machine_component","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Machine Component"}},{"name":"envelope_integrity","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Envelope Integrity"}},{"name":"metabolic","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Metabolic"}},{"name":"quorum_sensing","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Quorum Sensing"}},{"name":"two_component_signaling","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Two Component Signaling"}},{"name":"small_molecule","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Small Molecule"}},{"name":"metals","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Metals"}},{"name":"cyclic_di_gmp","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Cyclic Di Gmp"}},{"name":"oxidative_stress","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Oxidative Stress"}},{"name":"cytoplasm","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Cytoplasm"}},{"name":"inner_membrane","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Inner Membrane"}},{"name":"periplasm","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Periplasm"}},{"name":"peptidoglycan","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Peptidoglycan"}},{"name":"outer_membrane","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Outer Membrane"}},{"name":"membrane_vesicles","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Membrane Vesicles"}},{"name":"secreted","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Secreted"}},{"name":"juvenile_squid","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Juvenile Squid"}},{"name":"adult_squid","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Adult Squid"}},{"name":"seawater","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Seawater"}},{"name":"culture_media","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Culture Media"}},{"name":"squid_monocolonization","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Squid Monocolonization"}},{"name":"squid_competitive_colonization","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Squid Competitive Colonization"}},{"name":"squid_overexpression","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Squid Overexpression"}},{"name":"LBS_media","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["up","down","no_change","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Lbs Media"}},{"name":"SWT_media","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["up","down","no_change","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Swt Media"}},{"name":"minimal_media","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["up","down","no_change","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Minimal Media"}},{"name":"biofilm_expression_correlation","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["positive","negative","no_correlation","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Biofilm Expression Correlation"}},{"name":"biofilm_mutant_aggregation","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["up","down","no_change","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Biofilm Mutant Aggregation"}},{"name":"biofilm_overexpression_aggregation","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["up","down","no_change","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Biofilm Overexpression Aggregation"}},{"name":"biofilm_mutant_wrinkled_colony","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["up","down","abnormal","no_change","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Biofilm Mutant Wrinkled Colony"}},{"name":"biofilm_overexpression_wrinkled_colony","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["up","down","abnormal","no_change","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Biofilm Overexpression Wrinkled Colony"}},{"name":"biofilm_mutant_pellicle","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["up","down","abnormal","no_change","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Biofilm Mutant Pellicle"}},{"name":"biofilm_overexpression_pellicle","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["up","down","abnormal","no_change","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Biofilm Overexpression Pellicle"}},{"name":"biofilm_mutant_crystal_violet","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["up","down","no_change","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Biofilm Mutant Crystal Violet"}},{"name":"biofilm_overexpression_crystal_violet","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["up","down","no_change","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Biofilm Overexpression Crystal Violet"}},{"name":"motility_mutant_impact","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["up","down","no_change","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Motility Mutant Impact"}},{"name":"motility_expression_correlation","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["positive","negative","no_correlation","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Motility Expression Correlation"}},{"name":"host_phenotype_mutant_impact","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["up","down","no_change","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Host Phenotype Mutant Impact"}},{"name":"plasmid","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Plasmid"}},{"name":"annotation_discrepancy","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Annotation Discrepancy"}},{"name":"strain_conservation","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Strain Conservation"}},{"name":"species_conservation","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Species Conservation"}},{"name":"horizontal_gene_transfer","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Horizontal Gene Transfer"}},{"name":"regulation_transcription","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Regulation Transcription"}},{"name":"regulation_transcript_stability","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Regulation Transcript Stability"}},{"name":"regulation_translation","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Regulation Translation"}},{"name":"regulation_protein_stability","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Regulation Protein Stability"}},{"name":"regulation_protein_activity","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Regulation Protein Activity"}},{"name":"auto_regulated","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Auto Regulated"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/papers_extraction__api__GenePage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/search":{"get":{"tags":["data"],"summary":"Search","description":"Keyword search over papers + latest-run gene records (incl. aliases).\n\nEach list returns its own {items, total, next} envelope; the two next\ncursors advance independently.","operationId":"search_search_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":1,"description":"Case-insensitive substring.","title":"Q"},"description":"Case-insensitive substring."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"paper_offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Paper Offset"}},{"name":"gene_offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Gene Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api":{"get":{"tags":["meta"],"summary":"Api Quickstart","description":"Quick-start guide (markdown).","operationId":"api_quickstart_api_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/health":{"get":{"tags":["meta"],"summary":"Health","description":"Liveness probe.","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health Health Get"}}}}}}},"/llms.txt":{"get":{"tags":["meta"],"summary":"Llms Txt","description":"LLM-agent-facing API guide (llmstxt.org convention).","operationId":"llms_txt_llms_txt_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}},"text/markdown":{}}}}}},"/app/data/stats":{"get":{"tags":["app"],"summary":"App Stats","description":"Headline corpus counts for the home page.","operationId":"app_stats_app_data_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Stats"}}}}}}},"/app/data/attention":{"get":{"tags":["app"],"summary":"App Attention","description":"Intake counts that need a reviewer.","operationId":"app_attention_app_data_attention_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Attention"}}}}}}},"/app/data/papers":{"get":{"tags":["app"],"summary":"App Papers","description":"Corpus papers with gene counts and pipeline status; file links when signed in.","operationId":"app_papers_app_data_papers_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Title, authors, DOI, or PMID.","title":"Q"},"description":"Title, authors, DOI, or PMID."},{"name":"year_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year Min"}},{"name":"year_max","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year Max"}},{"name":"has_genes","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Genes"}},{"name":"gene","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Exact gene name.","title":"Gene"},"description":"Exact gene name."},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"enum":["extracted","missing_pdf","check_supplements","extracting","failed","pending"],"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/papers_extraction__app_schemas__PaperPage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/app/data/genes":{"get":{"tags":["app"],"summary":"App Genes","description":"Latest-run gene records; same filters as `/genes`, without the API key.","operationId":"app_genes_app_data_genes_get","parameters":[{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Match gene_name or alias.","title":"Name"},"description":"Match gene_name or alias."},{"name":"locus_tag","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Match locus_tag (substring by default; exact with exact=true).","title":"Locus Tag"},"description":"Match locus_tag (substring by default; exact with exact=true)."},{"name":"exact","in":"query","required":false,"schema":{"type":"boolean","description":"Exact case-insensitive match for `name` and `locus_tag`.","default":false,"title":"Exact"},"description":"Exact case-insensitive match for `name` and `locus_tag`."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":5000,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"has_function_role","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Function Role"}},{"name":"has_pathway_regulation","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Pathway Regulation"}},{"name":"has_localization_context","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Localization Context"}},{"name":"has_phenotype","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Phenotype"}},{"name":"has_biofilm","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Biofilm"}},{"name":"has_relationships","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Relationships"}},{"name":"has_aliases","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Aliases"}},{"name":"has_notes","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Notes"}},{"name":"has_transcriptional_regulators","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Transcriptional Regulators"}},{"name":"has_post_transcriptional_regulators","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Post Transcriptional Regulators"}},{"name":"has_regulated_targets","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Regulated Targets"}},{"name":"has_physical_interactions","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Physical Interactions"}},{"name":"has_functional_interactions","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Functional Interactions"}},{"name":"has_operon_members","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Operon Members"}},{"name":"has_chromosomal_locus","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Chromosomal Locus"}},{"name":"regulatory_protein","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Regulatory Protein"}},{"name":"regulatory_rna","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Regulatory Rna"}},{"name":"regulates_transcription","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Regulates Transcription"}},{"name":"regulates_transcript_stability","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Regulates Transcript Stability"}},{"name":"regulates_translation","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Regulates Translation"}},{"name":"regulates_protein_stability","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Regulates Protein Stability"}},{"name":"enzyme","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Enzyme"}},{"name":"rna_chaperone","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Rna Chaperone"}},{"name":"machine_component","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Machine Component"}},{"name":"envelope_integrity","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Envelope Integrity"}},{"name":"metabolic","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Metabolic"}},{"name":"quorum_sensing","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Quorum Sensing"}},{"name":"two_component_signaling","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Two Component Signaling"}},{"name":"small_molecule","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Small Molecule"}},{"name":"metals","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Metals"}},{"name":"cyclic_di_gmp","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Cyclic Di Gmp"}},{"name":"oxidative_stress","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Oxidative Stress"}},{"name":"cytoplasm","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Cytoplasm"}},{"name":"inner_membrane","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Inner Membrane"}},{"name":"periplasm","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Periplasm"}},{"name":"peptidoglycan","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Peptidoglycan"}},{"name":"outer_membrane","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Outer Membrane"}},{"name":"membrane_vesicles","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Membrane Vesicles"}},{"name":"secreted","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Secreted"}},{"name":"juvenile_squid","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Juvenile Squid"}},{"name":"adult_squid","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Adult Squid"}},{"name":"seawater","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Seawater"}},{"name":"culture_media","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Culture Media"}},{"name":"squid_monocolonization","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Squid Monocolonization"}},{"name":"squid_competitive_colonization","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Squid Competitive Colonization"}},{"name":"squid_overexpression","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Squid Overexpression"}},{"name":"LBS_media","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["up","down","no_change","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Lbs Media"}},{"name":"SWT_media","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["up","down","no_change","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Swt Media"}},{"name":"minimal_media","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["up","down","no_change","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Minimal Media"}},{"name":"biofilm_expression_correlation","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["positive","negative","no_correlation","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Biofilm Expression Correlation"}},{"name":"biofilm_mutant_aggregation","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["up","down","no_change","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Biofilm Mutant Aggregation"}},{"name":"biofilm_overexpression_aggregation","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["up","down","no_change","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Biofilm Overexpression Aggregation"}},{"name":"biofilm_mutant_wrinkled_colony","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["up","down","abnormal","no_change","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Biofilm Mutant Wrinkled Colony"}},{"name":"biofilm_overexpression_wrinkled_colony","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["up","down","abnormal","no_change","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Biofilm Overexpression Wrinkled Colony"}},{"name":"biofilm_mutant_pellicle","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["up","down","abnormal","no_change","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Biofilm Mutant Pellicle"}},{"name":"biofilm_overexpression_pellicle","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["up","down","abnormal","no_change","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Biofilm Overexpression Pellicle"}},{"name":"biofilm_mutant_crystal_violet","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["up","down","no_change","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Biofilm Mutant Crystal Violet"}},{"name":"biofilm_overexpression_crystal_violet","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["up","down","no_change","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Biofilm Overexpression Crystal Violet"}},{"name":"motility_mutant_impact","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["up","down","no_change","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Motility Mutant Impact"}},{"name":"motility_expression_correlation","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["positive","negative","no_correlation","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Motility Expression Correlation"}},{"name":"host_phenotype_mutant_impact","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["up","down","no_change","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Host Phenotype Mutant Impact"}},{"name":"plasmid","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Plasmid"}},{"name":"annotation_discrepancy","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Annotation Discrepancy"}},{"name":"strain_conservation","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Strain Conservation"}},{"name":"species_conservation","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Species Conservation"}},{"name":"horizontal_gene_transfer","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Horizontal Gene Transfer"}},{"name":"regulation_transcription","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Regulation Transcription"}},{"name":"regulation_transcript_stability","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Regulation Transcript Stability"}},{"name":"regulation_translation","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Regulation Translation"}},{"name":"regulation_protein_stability","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Regulation Protein Stability"}},{"name":"regulation_protein_activity","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Regulation Protein Activity"}},{"name":"auto_regulated","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["yes","no","not_assessed"],"type":"string"}},{"type":"null"}],"title":"Auto Regulated"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/papers_extraction__app_schemas__GenePage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/app/data/gene-names":{"get":{"tags":["app"],"summary":"App Gene Names","description":"Every extracted gene name.","operationId":"app_gene_names_app_data_gene_names_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array","title":"Response App Gene Names App Data Gene Names Get"}}}}}}},"/app/data/filter-fields":{"get":{"tags":["app"],"summary":"App Filter Fields","description":"Gene filter names and allowed categorical values.","operationId":"app_filter_fields_app_data_filter_fields_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilterFields"}}}}}}},"/app/auth/login":{"post":{"tags":["app"],"summary":"App Login","description":"Check the shared lab password and start a session for the typed name.","operationId":"app_login_app_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Me"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/app/auth/logout":{"post":{"tags":["app"],"summary":"App Logout","description":"End the session.","operationId":"app_logout_app_auth_logout_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Me"}}}}}}},"/app/auth/me":{"get":{"tags":["app"],"summary":"App Me","description":"Who is signed in, if anyone.","operationId":"app_me_app_auth_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Me"}}}}}}},"/app/intake":{"get":{"tags":["app"],"summary":"App Intake","description":"Intake cards for one stage, with per-stage counts.","operationId":"app_intake_app_intake_get","parameters":[{"name":"stage","in":"query","required":false,"schema":{"anyOf":[{"enum":["screen","pdf","supp","extracting","done","failed","rejected"],"type":"string"},{"type":"null"}],"title":"Stage"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntakeList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/app/intake/{pmid}":{"get":{"tags":["app"],"summary":"App Intake Card","description":"One intake card.","operationId":"app_intake_card_app_intake__pmid__get","parameters":[{"name":"pmid","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Pmid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntakeCard"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/app/intake/search":{"post":{"tags":["app"],"summary":"App Intake Search","description":"Search PubMed and queue unseen hits for abstract screening.","operationId":"app_intake_search_app_intake_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Flash"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/app/intake/add":{"post":{"tags":["app"],"summary":"App Intake Add","description":"Add one paper by PMID or DOI.","operationId":"app_intake_add_app_intake_add_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Flash"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/app/intake/apply-suggestions":{"post":{"tags":["app"],"summary":"App Apply Suggestions","description":"Accept every pending screening suggestion.","operationId":"app_apply_suggestions_app_intake_apply_suggestions_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Flash"}}}}}}},"/app/intake/{pmid}/decision":{"post":{"tags":["app"],"summary":"App Decision","description":"Add, reject, or restore one paper.","operationId":"app_decision_app_intake__pmid__decision_post","parameters":[{"name":"pmid","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Pmid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DecisionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntakeCard"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/app/intake/{pmid}/main-pdf":{"post":{"tags":["app"],"summary":"App Main Pdf","description":"Upload the manuscript PDF.","operationId":"app_main_pdf_app_intake__pmid__main_pdf_post","parameters":[{"name":"pmid","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Pmid"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_app_main_pdf_app_intake__pmid__main_pdf_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntakeCard"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/app/intake/{pmid}/supplements":{"post":{"tags":["app"],"summary":"App Supplements","description":"Upload supplementary files.","operationId":"app_supplements_app_intake__pmid__supplements_post","parameters":[{"name":"pmid","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Pmid"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_app_supplements_app_intake__pmid__supplements_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntakeCard"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/app/intake/{pmid}/files/{name}":{"patch":{"tags":["app"],"summary":"App File Use","description":"Include or exclude one supplement from extraction.","operationId":"app_file_use_app_intake__pmid__files__name__patch","parameters":[{"name":"pmid","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Pmid"}},{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileUseRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntakeCard"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/app/intake/{pmid}/confirm":{"post":{"tags":["app"],"summary":"App Confirm","description":"Confirm supplements and queue extraction.","operationId":"app_confirm_app_intake__pmid__confirm_post","parameters":[{"name":"pmid","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Pmid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntakeCard"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/app/intake/{pmid}/edit-files":{"post":{"tags":["app"],"summary":"App Edit Files","description":"Reopen the supplement selection.","operationId":"app_edit_files_app_intake__pmid__edit_files_post","parameters":[{"name":"pmid","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Pmid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntakeCard"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/app/intake/{pmid}/fetch":{"post":{"tags":["app"],"summary":"App Fetch","description":"Download an undecided paper's PDF and supplements before the decision.","operationId":"app_fetch_app_intake__pmid__fetch_post","parameters":[{"name":"pmid","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Pmid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntakeCard"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/app/intake/{pmid}/screen-fulltext":{"post":{"tags":["app"],"summary":"App Screen Fulltext","description":"Queue full-text screening for an undecided paper with a downloaded PDF.","operationId":"app_screen_fulltext_app_intake__pmid__screen_fulltext_post","parameters":[{"name":"pmid","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Pmid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntakeCard"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/app/intake/{pmid}/retry":{"post":{"tags":["app"],"summary":"App Retry","description":"Re-queue a failed fetch or extraction.","operationId":"app_retry_app_intake__pmid__retry_post","parameters":[{"name":"pmid","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Pmid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntakeCard"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/app/files/{pmid}/{name}":{"get":{"tags":["app"],"summary":"App File","description":"Serve an intake or corpus file: PDFs and images inline, others as a download.","operationId":"app_file_app_files__pmid___name__get","parameters":[{"name":"pmid","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Pmid"}},{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}},{"name":"source","in":"query","required":false,"schema":{"enum":["corpus","intake"],"type":"string","default":"intake","title":"Source"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/app/comments":{"get":{"tags":["app"],"summary":"App Comments","description":"Comments, newest first; open ones only unless include_resolved.","operationId":"app_comments_app_comments_get","parameters":[{"name":"pmid","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"title":"Pmid"}},{"name":"include_resolved","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Resolved"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Comment"},"title":"Response App Comments App Comments Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["app"],"summary":"App Add Comment","description":"Post a paper review note or app feedback as the signed-in reviewer.","operationId":"app_add_comment_app_comments_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/app/comments/{comment_id}/resolve":{"post":{"tags":["app"],"summary":"App Resolve Comment","description":"Mark a comment resolved.","operationId":"app_resolve_comment_app_comments__comment_id__resolve_post","parameters":[{"name":"comment_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Comment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AddRequest":{"properties":{"id":{"type":"string","minLength":1,"title":"Id","description":"PMID or DOI."}},"type":"object","required":["id"],"title":"AddRequest"},"Attention":{"properties":{"recommended":{"type":"integer","title":"Recommended","description":"Papers in To screen whose suggestion is 'add'."},"to_screen":{"type":"integer","title":"To Screen"},"missing_pdf":{"type":"integer","title":"Missing Pdf"},"check_supplements":{"type":"integer","title":"Check Supplements"},"extracting":{"type":"integer","title":"Extracting"},"failed":{"type":"integer","title":"Failed"}},"type":"object","required":["recommended","to_screen","missing_pdf","check_supplements","extracting","failed"],"title":"Attention"},"Body_app_main_pdf_app_intake__pmid__main_pdf_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_app_main_pdf_app_intake__pmid__main_pdf_post"},"Body_app_supplements_app_intake__pmid__supplements_post":{"properties":{"files":{"items":{"type":"string","contentMediaType":"application/octet-stream"},"type":"array","title":"Files"}},"type":"object","required":["files"],"title":"Body_app_supplements_app_intake__pmid__supplements_post"},"Comment":{"properties":{"id":{"type":"integer","title":"Id"},"kind":{"type":"string","enum":["paper_review","app_feedback"],"title":"Kind"},"pmid":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pmid"},"author":{"type":"string","title":"Author"},"body":{"type":"string","title":"Body"},"context":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Context"},"resolved":{"type":"boolean","title":"Resolved"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","kind","pmid","author","body","context","resolved","created_at"],"title":"Comment"},"CommentCreate":{"properties":{"kind":{"type":"string","enum":["paper_review","app_feedback"],"title":"Kind","default":"paper_review"},"pmid":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pmid"},"body":{"type":"string","maxLength":5000,"minLength":1,"title":"Body"},"context":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Context"}},"type":"object","required":["body"],"title":"CommentCreate"},"Criteria":{"properties":{"studies_vf":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Studies Vf"},"gene_data":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Gene Data"},"original":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Original"},"ecotox":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ecotox"},"taxonomy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Taxonomy"},"other_species":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Other Species"}},"type":"object","required":["studies_vf","gene_data","original","ecotox","taxonomy","other_species"],"title":"Criteria"},"DecisionRequest":{"properties":{"decision":{"type":"string","enum":["add","reject","restore"],"title":"Decision"}},"type":"object","required":["decision"],"title":"DecisionRequest"},"FileLink":{"properties":{"name":{"type":"string","title":"Name"},"label":{"type":"string","title":"Label","description":"Short link text, e.g. 'PDF', 'Supp A', or the filename."},"kind":{"type":"string","title":"Kind","description":"Human file type, e.g. 'PDF', 'Spreadsheet'."},"source":{"type":"string","enum":["corpus","intake"],"title":"Source"},"used":{"type":"boolean","title":"Used","description":"False for intake files extraction does not read."},"url":{"type":"string","title":"Url"}},"type":"object","required":["name","label","kind","source","used","url"],"title":"FileLink"},"FileUseRequest":{"properties":{"use":{"type":"boolean","title":"Use"}},"type":"object","required":["use"],"title":"FileUseRequest"},"FilterFields":{"properties":{"has_flags":{"items":{"type":"string"},"type":"array","title":"Has Flags"},"categorical_fields":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","title":"Categorical Fields"},"list_fields":{"items":{"type":"string"},"type":"array","title":"List Fields"}},"type":"object","required":["has_flags","categorical_fields","list_fields"],"title":"FilterFields"},"Flash":{"properties":{"message":{"type":"string","title":"Message"},"added":{"type":"integer","title":"Added","default":0},"skipped":{"type":"integer","title":"Skipped","default":0},"pmid":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pmid","description":"Resolved PMID (POST /app/intake/add)."}},"type":"object","required":["message"],"title":"Flash"},"GeneRecord":{"properties":{"pmid":{"type":"integer","title":"Pmid"},"gene_name":{"type":"string","title":"Gene Name"},"run_id":{"type":"string","title":"Run Id"},"created_at":{"type":"string","title":"Created At"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"gene_aliases":{"items":{"type":"string"},"type":"array","title":"Gene Aliases","default":[]}},"additionalProperties":true,"type":"object","required":["pmid","gene_name","run_id","created_at"],"title":"GeneRecord"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IntakeCard":{"properties":{"pmid":{"type":"integer","title":"Pmid"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"authors":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authors"},"journal":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Journal"},"year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year"},"doi":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doi"},"stage":{"type":"string","enum":["screen","pdf","supp","extracting","done","failed","rejected"],"title":"Stage"},"origin":{"type":"string","enum":["pubmed","manual","db"],"title":"Origin"},"decision":{"anyOf":[{"type":"string","enum":["add","reject"]},{"type":"null"}],"title":"Decision"},"suggestion":{"anyOf":[{"type":"string","enum":["add","reject"]},{"type":"null"}],"title":"Suggestion","description":"From the abstract score: >=4 add, <=-2 reject, else null."},"abstract":{"anyOf":[{"$ref":"#/components/schemas/Screening"},{"type":"null"}],"description":"Null while abstract screening is still running."},"fulltext":{"anyOf":[{"$ref":"#/components/schemas/Screening"},{"type":"null"}]},"fulltext_flag":{"type":"boolean","title":"Fulltext Flag","description":"True when full-text screening suggests reject (advisory only)."},"fulltext_pending":{"type":"boolean","title":"Fulltext Pending","description":"A full-text screening job is queued or running."},"main_pdf":{"type":"string","enum":["missing","fetched","uploaded"],"title":"Main Pdf"},"main_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Main File"},"fetch_state":{"type":"string","enum":["idle","fetching","done","failed"],"title":"Fetch State"},"fetch_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fetch Note"},"supp_confirmed":{"type":"boolean","title":"Supp Confirmed"},"files":{"items":{"$ref":"#/components/schemas/PaperFile"},"type":"array","title":"Files"},"links":{"items":{"$ref":"#/components/schemas/Link"},"type":"array","title":"Links"},"job":{"anyOf":[{"$ref":"#/components/schemas/Job"},{"type":"null"}],"description":"Latest extract job, if any."},"comment_count":{"type":"integer","title":"Comment Count"},"reviewer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reviewer"},"decided_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Decided At"}},"type":"object","required":["pmid","title","authors","journal","year","doi","stage","origin","decision","suggestion","abstract","fulltext","fulltext_flag","fulltext_pending","main_pdf","main_file","fetch_state","fetch_note","supp_confirmed","files","links","job","comment_count","reviewer","decided_at"],"title":"IntakeCard"},"IntakeList":{"properties":{"items":{"items":{"$ref":"#/components/schemas/IntakeCard"},"type":"array","title":"Items"},"counts":{"additionalProperties":{"type":"integer"},"propertyNames":{"enum":["screen","pdf","supp","extracting","done","failed","rejected"]},"type":"object","title":"Counts"},"busy":{"type":"boolean","title":"Busy","description":"Any fetch/screen/extract job queued or running; frontend polls while true."}},"type":"object","required":["items","counts","busy"],"title":"IntakeList"},"Job":{"properties":{"id":{"type":"integer","title":"Id"},"kind":{"type":"string","enum":["fetch","abstract","fulltext","extract"],"title":"Kind"},"status":{"type":"string","enum":["queued","running","done","failed"],"title":"Status"},"attempt":{"type":"integer","title":"Attempt"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"created_at":{"type":"string","title":"Created At"},"started_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Started At"},"finished_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Finished At"}},"type":"object","required":["id","kind","status","attempt","error","created_at","started_at","finished_at"],"title":"Job"},"Link":{"properties":{"label":{"type":"string","title":"Label"},"url":{"type":"string","title":"Url"}},"type":"object","required":["label","url"],"title":"Link"},"LoginRequest":{"properties":{"password":{"type":"string","title":"Password"},"name":{"type":"string","maxLength":80,"minLength":1,"title":"Name"}},"type":"object","required":["password","name"],"title":"LoginRequest"},"Me":{"properties":{"authed":{"type":"boolean","title":"Authed"},"reviewer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reviewer"}},"type":"object","required":["authed"],"title":"Me"},"PaperFile":{"properties":{"name":{"type":"string","title":"Name"},"kind":{"type":"string","title":"Kind","description":"Human label, e.g. 'Spreadsheet', 'PDF', 'Figure image, not readable'."},"size":{"type":"integer","title":"Size","description":"Bytes."},"use":{"type":"boolean","title":"Use"},"readable":{"type":"boolean","title":"Readable"},"origin":{"type":"string","enum":["auto","upload"],"title":"Origin"}},"type":"object","required":["name","kind","size","use","readable","origin"],"title":"PaperFile"},"PaperRecord":{"properties":{"pmid":{"type":"integer","title":"Pmid"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"authors":{"items":{"type":"string"},"type":"array","title":"Authors","default":[]},"doi":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doi"},"pmc_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pmc Id"},"abstract":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abstract"},"journal":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Journal"},"journal_full":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Journal Full"}},"additionalProperties":true,"type":"object","required":["pmid"],"title":"PaperRecord"},"PaperRow":{"properties":{"pmid":{"type":"integer","title":"Pmid"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"authors":{"items":{"type":"string"},"type":"array","title":"Authors"},"journal":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Journal"},"year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year"},"doi":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doi"},"genes":{"type":"integer","title":"Genes"},"status":{"type":"string","enum":["extracted","missing_pdf","check_supplements","extracting","failed","pending"],"title":"Status"},"files":{"anyOf":[{"items":{"$ref":"#/components/schemas/FileLink"},"type":"array"},{"type":"null"}],"title":"Files","description":"Manuscript and supplements; null unless signed in."}},"type":"object","required":["pmid","title","authors","journal","year","doi","genes","status"],"title":"PaperRow"},"PaperWithGenes":{"properties":{"pmid":{"type":"integer","title":"Pmid"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"authors":{"items":{"type":"string"},"type":"array","title":"Authors","default":[]},"doi":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doi"},"pmc_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pmc Id"},"abstract":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abstract"},"journal":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Journal"},"journal_full":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Journal Full"},"genes":{"items":{"$ref":"#/components/schemas/GeneRecord"},"type":"array","title":"Genes","default":[]}},"additionalProperties":true,"type":"object","required":["pmid"],"title":"PaperWithGenes"},"Screening":{"properties":{"score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Score","description":"-6..+6, compute_score()."},"breakdown":{"type":"string","title":"Breakdown","description":"score_breakdown(), e.g. 'VF ✓ Gene ✓ Orig ✓ · Eco ✓ Tax ✓ Sp ✗'."},"relevance":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Relevance"},"reasoning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reasoning"},"criteria":{"$ref":"#/components/schemas/Criteria"},"input_warning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Warning"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error","description":"Why screening could not run (LLM call or parse failed); reasoning repeats it."}},"type":"object","required":["score","breakdown","relevance","reasoning","criteria"],"title":"Screening"},"SearchRequest":{"properties":{"query":{"type":"string","minLength":1,"title":"Query"},"year_from":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year From"},"year_to":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year To"},"max_results":{"type":"integer","maximum":200.0,"minimum":1.0,"title":"Max Results","default":50}},"type":"object","required":["query"],"title":"SearchRequest"},"SearchResponse":{"properties":{"papers":{"$ref":"#/components/schemas/papers_extraction__api__PaperPage"},"genes":{"$ref":"#/components/schemas/papers_extraction__api__GenePage"}},"type":"object","required":["papers","genes"],"title":"SearchResponse"},"Stats":{"properties":{"papers":{"type":"integer","title":"Papers"},"gene_records":{"type":"integer","title":"Gene Records"},"unique_genes":{"type":"integer","title":"Unique Genes"},"locus_tag_matched":{"type":"integer","title":"Locus Tag Matched"},"last_extraction_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Extraction At","description":"ISO timestamp of the newest extracted_genes row."}},"type":"object","required":["papers","gene_records","unique_genes","locus_tag_matched","last_extraction_at"],"title":"Stats"},"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"},"papers_extraction__api__GenePage":{"properties":{"items":{"items":{"$ref":"#/components/schemas/GeneRecord"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"next":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next"}},"type":"object","required":["items","total","next"],"title":"GenePage"},"papers_extraction__api__PaperPage":{"properties":{"items":{"items":{"$ref":"#/components/schemas/PaperRecord"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"next":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next"}},"type":"object","required":["items","total","next"],"title":"PaperPage"},"papers_extraction__app_schemas__GenePage":{"properties":{"items":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Items","description":"decode_gene_row() dicts plus gene_aliases, latest run per (pmid, gene)."},"total":{"type":"integer","title":"Total"}},"type":"object","required":["items","total"],"title":"GenePage"},"papers_extraction__app_schemas__PaperPage":{"properties":{"items":{"items":{"$ref":"#/components/schemas/PaperRow"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"counts":{"additionalProperties":{"type":"integer"},"type":"object","title":"Counts","description":"Status -> count over the unfiltered-by-status result set, plus 'all'."}},"type":"object","required":["items","total","counts"],"title":"PaperPage"}},"securitySchemes":{"APIKeyHeader":{"type":"apiKey","in":"header","name":"X-API-Key"}}}}