{"openapi":"3.1.0","info":{"title":"Research query service","description":"Restful, MCP, and A2A services for querying research corpora. Supports arXiv, PubMed, and policy queries plus metadata retrieval.","version":"1.1.0"},"paths":{"/api/auth/login":{"get":{"summary":"Login","operationId":"login_api_auth_login_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/auth/me":{"get":{"summary":"Me","operationId":"me_api_auth_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/auth/logout":{"post":{"summary":"Logout","operationId":"logout_api_auth_logout_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/auth/callback":{"get":{"summary":"Callback","operationId":"callback_api_auth_callback_get","parameters":[{"name":"code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"error","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/api-keys":{"get":{"summary":"List Api Keys","operationId":"list_api_keys_api_auth_api_keys_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Create Api Key","operationId":"create_api_key_api_auth_api_keys_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/auth/api-keys/{key_id}":{"delete":{"summary":"Delete Api Key","operationId":"delete_api_key_api_auth_api_keys__key_id__delete","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","title":"Key Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/refresh":{"post":{"summary":"Refresh","operationId":"refresh_api_auth_refresh_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/preview/{document_id}":{"get":{"tags":["preview","document"],"summary":"Preview Document","description":"Get a preview image for a document.\nRedirects to the generated image URL.","operationId":"preview_document_api_preview__document_id__get","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}},{"name":"refresh","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Refresh"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/query/arxiv":{"post":{"tags":["query","arxiv","paper","search","topic"],"summary":"Query Arxiv","description":"Query arXiv papers by topic.\n\nArgs:\n    request: The search request containing topic, max_results and options\n\nReturns:\n    dict: Query results containing papers from arXiv\n\nRaises:\n    HTTPException: If services are not initialized or search fails","operationId":"query_arxiv_papers","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TextRequestArxiv"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchDocumentsResp"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/query/pubmed":{"post":{"tags":["query","pubmed","paper","search","topic"],"summary":"Query Pubmed","description":"Query PubMed articles by topic.\n\nArgs:\n    request: The search request containing topic, max_results and options\n\nReturns:\n    dict: Query results containing articles from PubMed\n\nRaises:\n    HTTPException: If services are not initialized or search fails","operationId":"query_pubmed_articles","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TextRequestPubMed"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchDocumentsResp"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/query/policy":{"post":{"tags":["query","policy","legal","search","topic"],"summary":"Query Policy","description":"Query US state policy documents by topic.\n\nUse options.jurisdictions to restrict the search to one or more supported\nstate corpora: US-CA, US-TX, US-WA.","operationId":"query_policy_documents","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TextRequestPolicy"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchDocumentsResp"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/meta/{identifier}":{"get":{"tags":["get","meta"],"summary":"Get Unified Meta","operationId":"get_unified_meta","parameters":[{"name":"identifier","in":"path","required":true,"schema":{"type":"string","title":"Identifier"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/knowledge/cutoff":{"get":{"tags":["get","knowledge","metadata"],"summary":"Get Knowledge Cutoff","description":"Get the latest knowledge cutoff dates for all supported corpora.","operationId":"get_knowledge_cutoff","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeCutoffResponse"}}}}}}},"/api/markdown/plain/{identifier}":{"get":{"tags":["get","markdown","arxiv","pubmed","policy","plain-text"],"summary":"Get Md Plain","description":"Get an article's markdown as plain text by its unified identifier.\nFormat examples: 'DOI:10.xxxx/yyyy', 'arXiv:2501.01234',\n'PMCID:PMC10554290', 'PMID:12345678',\n'Policy:US-CA:<document_id>', 'Policy:US-TX:<document_id>', or\n'Policy:US-WA:<document_id>'.\nReturns the markdown content, a redirect, or an error.","operationId":"get_markdown_plain","parameters":[{"name":"identifier","in":"path","required":true,"schema":{"type":"string","title":"Identifier"}}],"responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/markdown/json/{identifier}":{"get":{"tags":["get","markdown","arxiv","pubmed","policy","json"],"summary":"Get Md Json","description":"Get an article's markdown as JSON by its unified identifier.\nFormat examples: 'DOI:10.xxxx/yyyy', 'arXiv:2501.01234',\n'PMCID:PMC10554290', 'PMID:12345678',\n'Policy:US-CA:<document_id>', 'Policy:US-TX:<document_id>', or\n'Policy:US-WA:<document_id>'.\nReturns a JSON object with the markdown content.","operationId":"get_markdown_json","parameters":[{"name":"identifier","in":"path","required":true,"schema":{"type":"string","title":"Identifier"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMarkdown"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/session/{session_id}":{"get":{"tags":["session"],"summary":"Get Session With History","operationId":"get_session_with_history","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":300,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"GetMarkdown":{"properties":{"markdown":{"type":"string","title":"Markdown"}},"type":"object","required":["markdown"],"title":"GetMarkdown"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"KnowledgeCutoffResponse":{"properties":{"arxiv_cutoff_date":{"type":"string","title":"Arxiv Cutoff Date"},"pubmed_cutoff_date":{"type":"string","title":"Pubmed Cutoff Date"},"policy_ca_cutoff_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Policy Ca Cutoff Date"},"policy_tx_cutoff_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Policy Tx Cutoff Date"},"policy_wa_cutoff_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Policy Wa Cutoff Date"}},"type":"object","required":["arxiv_cutoff_date","pubmed_cutoff_date","policy_ca_cutoff_date"],"title":"KnowledgeCutoffResponse","example":{"arxiv_cutoff_date":"2024-01","policy_ca_cutoff_date":"2026-01-01","policy_tx_cutoff_date":"2026-01-01","policy_wa_cutoff_date":"2026-01-01","pubmed_cutoff_date":"2024-03-15"}},"MetaResponse":{"properties":{"paper":{"additionalProperties":true,"type":"object","title":"Paper"}},"type":"object","required":["paper"],"title":"MetaResponse"},"PolicyJurisdiction":{"type":"string","enum":["US-CA","US-TX","US-WA"],"title":"PolicyJurisdiction"},"QueryConfigurationArxiv":{"properties":{"refine_query":{"type":"boolean","title":"Refine Query","default":false},"rerank":{"type":"boolean","title":"Rerank","default":false},"categories":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Categories"},"organizations":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Organizations"},"date_range_start":{"type":"integer","title":"Date Range Start","default":0},"date_range_end":{"type":"integer","title":"Date Range End","default":99999999}},"type":"object","title":"QueryConfigurationArxiv","example":{"categories":["cs.AI","cs.LG"],"date_range_end":198907,"date_range_start":198905,"organizations":["NVIDIA","Google"],"refine_query":false,"rerank":false}},"QueryConfigurationPolicy":{"properties":{"refine_query":{"type":"boolean","title":"Refine Query","default":false},"rerank":{"type":"boolean","title":"Rerank","default":false},"jurisdictions":{"anyOf":[{"items":{"$ref":"#/components/schemas/PolicyJurisdiction"},"type":"array"},{"type":"null"}],"title":"Jurisdictions"},"snippet_chars":{"type":"integer","title":"Snippet Chars","default":280}},"type":"object","title":"QueryConfigurationPolicy","example":{"jurisdictions":["US-CA","US-TX","US-WA"],"refine_query":false,"rerank":false,"snippet_chars":280}},"QueryConfigurationPubMed":{"properties":{"refine_query":{"type":"boolean","title":"Refine Query","default":false},"rerank":{"type":"boolean","title":"Rerank","default":false},"categories":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Categories"},"journal":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Journal"},"date_range_start":{"type":"integer","title":"Date Range Start","default":0},"date_range_end":{"type":"integer","title":"Date Range End","default":0}},"type":"object","title":"QueryConfigurationPubMed","example":{"categories":["Diabetes","Metabolism"],"date_range_end":20241231,"date_range_start":20190101,"journal":["The Lancet"],"refine_query":false,"rerank":false}},"SearchDocumentsResp":{"properties":{"documents":{"items":{"$ref":"#/components/schemas/SearchPaperResultItem"},"type":"array","title":"Documents"}},"type":"object","required":["documents"],"title":"SearchDocumentsResp","example":{"documents":[{"abstract":"Example abstract describing the paper.","authors":["Example Author 1","Example Author 2"],"categories":["cs.AI","cs.LG"],"doi":"10.48550/arXiv.2209.XXXXX","extended":{"abstract_bm25_score":0.55,"abstract_vector_distance":0.12,"abstract_vector_similarity":0.88,"citation_count":12,"citation_score":0.64,"comments":"Example comments","date_score":0.91,"fusion_score":0.82,"introduction_bm25_score":0.37,"introduction_vector_distance":0.33,"introduction_vector_similarity":0.67,"rank_score":0.8,"report_no":"","submitter":"Example Submitter","title_bm25_score":0.42,"url_pdf":"https://arxiv.org/pdf/2209.XXXXX","versions":["v1","v2"]},"id":"arXiv:2209.00001","introduction":"Example introduction text...","journal":"Example Journal","license":"http://creativecommons.org/licenses/by/4.0/","organizations":["Example Lab"],"publish_date":"2024-05-00","title":"Example Title","url":"https://commons.ii.inc/documents/arXiv:2209.00001","url_markdown":"https://example/api/markdown/plain/arXiv:2209.00001","url_source":"https://arxiv.org/abs/2209.00001"}]}},"SearchPaperResultItem":{"properties":{"id":{"type":"string","title":"Id"},"doi":{"type":"string","title":"Doi"},"title":{"type":"string","title":"Title"},"abstract":{"type":"string","title":"Abstract"},"introduction":{"type":"string","title":"Introduction"},"authors":{"items":{"type":"string"},"type":"array","title":"Authors"},"organizations":{"items":{"type":"string"},"type":"array","title":"Organizations"},"categories":{"items":{"type":"string"},"type":"array","title":"Categories"},"publish_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publish Date"},"journal":{"type":"string","title":"Journal"},"license":{"type":"string","title":"License"},"url":{"type":"string","title":"Url"},"url_source":{"type":"string","title":"Url Source"},"url_markdown":{"type":"string","title":"Url Markdown"},"extended":{"additionalProperties":true,"type":"object","title":"Extended"}},"additionalProperties":true,"type":"object","required":["id","doi","title","abstract","introduction","authors","organizations","categories","publish_date","journal","license","url","url_source","url_markdown","extended"],"title":"SearchPaperResultItem"},"TextRequestArxiv":{"properties":{"topic":{"type":"string","title":"Topic"},"max_results":{"type":"integer","title":"Max Results","default":20},"options":{"$ref":"#/components/schemas/QueryConfigurationArxiv"}},"additionalProperties":false,"type":"object","required":["topic"],"title":"TextRequestArxiv","example":{"max_results":20,"options":{"categories":["cs.AI","cs.LG"],"date_range_end":198907,"date_range_start":198905,"organizations":["NVIDIA","Google"],"refine_query":true,"rerank":true},"topic":"I want to know information about CUDA."}},"TextRequestPolicy":{"properties":{"topic":{"type":"string","title":"Topic"},"max_results":{"type":"integer","title":"Max Results","default":20},"options":{"$ref":"#/components/schemas/QueryConfigurationPolicy"}},"additionalProperties":false,"type":"object","required":["topic"],"title":"TextRequestPolicy","example":{"max_results":20,"options":{"jurisdictions":["US-CA"],"refine_query":true,"rerank":true,"snippet_chars":280},"topic":"state overtime rule for agricultural workers"}},"TextRequestPubMed":{"properties":{"topic":{"type":"string","title":"Topic"},"max_results":{"type":"integer","title":"Max Results","default":20},"options":{"$ref":"#/components/schemas/QueryConfigurationPubMed"}},"additionalProperties":false,"type":"object","required":["topic"],"title":"TextRequestPubMed","example":{"max_results":20,"options":{"categories":["Diabetes","Metabolism"],"date_range_end":20241231,"date_range_start":20190101,"journal":["The Lancet"],"refine_query":true,"rerank":true},"topic":"Latest treatments for type 2 diabetes"}},"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"}}}}