{"openapi":"3.1.0","info":{"title":"Forskningsanslag API","description":"Public API for discovering Swedish research grant calls. Browse open calls, filter by funder or research area, and access structured grant data.","version":"1.0.0"},"paths":{"/api/grants/applications/{grant_call_id}":{"put":{"tags":["grants"],"summary":"(Legacy) Set grant application tracker status","operationId":"set_grant_application_api_grants_applications__grant_call_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"grant_call_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Grant Call Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetGrantApplicationRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantApplication"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["grants"],"summary":"(Legacy) Clear grant application tracker status","operationId":"clear_grant_application_api_grants_applications__grant_call_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"grant_call_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Grant Call Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/grants/applications":{"get":{"tags":["grants"],"summary":"(Legacy) List grant application tracker rows","operationId":"list_grant_applications_api_grants_applications_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/GrantApplicationStatus"},{"type":"null"}],"description":"Filter by tracker status","title":"Status"},"description":"Filter by tracker status"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"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/GrantApplicationListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/grants/funding-landscape":{"get":{"tags":["grants"],"summary":"Aggregated funding landscape data","description":"Returns trends, funder breakdown, and top areas from funded projects for charting.","operationId":"get_funding_landscape_api_grants_funding_landscape_get","parameters":[{"name":"year_from","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":2100,"minimum":1900},{"type":"null"}],"title":"Year From"}},{"name":"year_to","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":2100,"minimum":1900},{"type":"null"}],"title":"Year To"}},{"name":"funder_slug","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by funder slug","title":"Funder Slug"},"description":"Filter by funder slug"},{"name":"scb_level","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":5,"minimum":1},{"type":"null"}],"description":"Use SCB codes at this level instead of research areas","title":"Scb Level"},"description":"Use SCB codes at this level instead of research areas"},{"name":"include_unclassified","in":"query","required":false,"schema":{"type":"boolean","description":"Include unclassified SCB codes (9/99/999/9999/99999)","default":false,"title":"Include Unclassified"},"description":"Include unclassified SCB codes (9/99/999/9999/99999)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LandscapeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/grants/funding-landscape/topics":{"get":{"tags":["grants"],"summary":"Curated topic definitions for audited topic trends","description":"Returns curated, versioned topic definitions with include/exclude terms for topic trend analysis.","operationId":"get_funding_landscape_topics_api_grants_funding_landscape_topics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LandscapeTopicsResponse"}}}}}}},"/api/grants/funding-landscape/topic-trends":{"get":{"tags":["grants"],"summary":"Batched topic trend counts by year","description":"Returns per-topic yearly counts in one call to avoid N×year project count requests from clients.","operationId":"get_funding_landscape_topic_trends_api_grants_funding_landscape_topic_trends_get","parameters":[{"name":"year_from","in":"query","required":true,"schema":{"type":"integer","maximum":2100,"minimum":1900,"title":"Year From"}},{"name":"year_to","in":"query","required":true,"schema":{"type":"integer","maximum":2100,"minimum":1900,"title":"Year To"}},{"name":"area_code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by research area code","title":"Area Code"},"description":"Filter by research area code"},{"name":"funder_slug","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by funder slug","title":"Funder Slug"},"description":"Filter by funder slug"},{"name":"scb_level","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":5,"minimum":1},{"type":"null"}],"description":"Use SCB codes at this level instead of research areas","title":"Scb Level"},"description":"Use SCB codes at this level instead of research areas"},{"name":"include_unclassified","in":"query","required":false,"schema":{"type":"boolean","description":"Include unclassified SCB codes (9/99/999/9999/99999)","default":false,"title":"Include Unclassified"},"description":"Include unclassified SCB codes (9/99/999/9999/99999)"},{"name":"topic_keys","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated topic keys to include; defaults to all topics","title":"Topic Keys"},"description":"Comma-separated topic keys to include; defaults to all topics"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LandscapeTopicTrendsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/grants/funding-landscape/projects":{"get":{"tags":["grants"],"summary":"Project explorer with search","description":"Returns paginated projects with top PIs sidebar for the funding landscape drill-down.","operationId":"search_landscape_projects_api_grants_funding_landscape_projects_get","parameters":[{"name":"area_code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by research area code","title":"Area Code"},"description":"Filter by research area code"},{"name":"funder_slug","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by funder slug","title":"Funder Slug"},"description":"Filter by funder slug"},{"name":"year_from","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":2100,"minimum":1900},{"type":"null"}],"title":"Year From"}},{"name":"year_to","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":2100,"minimum":1900},{"type":"null"}],"title":"Year To"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Full-text search on title, abstract, PI","title":"Search"},"description":"Full-text search on title, abstract, PI"},{"name":"search_any","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"OR-search terms separated by '|' on title, abstract, PI","title":"Search Any"},"description":"OR-search terms separated by '|' on title, abstract, PI"},{"name":"search_any_exclude","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Exclude if any '|' separated term matches title, abstract, PI","title":"Search Any Exclude"},"description":"Exclude if any '|' separated term matches title, abstract, PI"},{"name":"topic_key","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Apply a curated topic definition by key","title":"Topic Key"},"description":"Apply a curated topic definition by key"},{"name":"pi_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by PI name (exact match)","title":"Pi Name"},"description":"Filter by PI name (exact match)"},{"name":"scb_level","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":5,"minimum":1},{"type":"null"}],"description":"Use SCB codes at this level instead of research areas","title":"Scb Level"},"description":"Use SCB codes at this level instead of research areas"},{"name":"include_unclassified","in":"query","required":false,"schema":{"type":"boolean","description":"Include unclassified SCB codes (9/99/999/9999/99999)","default":false,"title":"Include Unclassified"},"description":"Include unclassified SCB codes (9/99/999/9999/99999)"},{"name":"include_match_debug","in":"query","required":false,"schema":{"type":"boolean","description":"Include per-project matched topic terms when topic_key is used","default":false,"title":"Include Match Debug"},"description":"Include per-project matched topic terms when topic_key is used"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"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/LandscapeProjectsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/grants/funding-landscape/researcher":{"get":{"tags":["grants"],"summary":"Researcher funding summary","description":"Returns aggregate stats and project list for a PI by name.","operationId":"get_researcher_summary_api_grants_funding_landscape_researcher_get","parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string","description":"PI name (exact match)","title":"Name"},"description":"PI name (exact match)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearcherSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/grants/funded-projects":{"get":{"tags":["grants"],"summary":"List recently funded projects","description":"Returns recently funded research projects for a given funder. Useful for understanding what a funder has supported in the past.","operationId":"list_funded_projects_api_grants_funded_projects_get","parameters":[{"name":"funder_slug","in":"query","required":true,"schema":{"type":"string","description":"Funder slug to filter by","title":"Funder Slug"},"description":"Funder slug to filter by"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":10,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"research_area","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by research area code","title":"Research Area"},"description":"Filter by research area code"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FundedProject"},"title":"Response List Funded Projects Api Grants Funded Projects Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/grants/funders/{slug}/projects":{"get":{"tags":["grants"],"summary":"Search funded projects for a funder","description":"Returns paginated funded projects with optional filters for research area, year range, and search.","operationId":"search_funder_projects_api_grants_funders__slug__projects_get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"research_area","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by research area code","title":"Research Area"},"description":"Filter by research area code"},{"name":"year_from","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":2100,"minimum":1900},{"type":"null"}],"title":"Year From"}},{"name":"year_to","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":2100,"minimum":1900},{"type":"null"}],"title":"Year To"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Search by title or PI name","title":"Search"},"description":"Search by title or PI name"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FundedProjectListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/grants/funded-projects/{project_id}":{"get":{"tags":["grants"],"summary":"Get Funded Project","operationId":"get_funded_project_api_grants_funded_projects__project_id__get","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FundedProject"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/grants/funders/{slug}":{"get":{"tags":["grants"],"summary":"Get funder details and stats","description":"Returns funder info, open call count, and funded project statistics.","operationId":"get_funder_detail_api_grants_funders__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FunderDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/grants/calls":{"get":{"tags":["grants"],"summary":"List grant calls","description":"Returns a paginated list of grant calls. Supports filtering by funder, status, research area, full-text search, and deadline proximity. Results include a summary snippet, funder info, and deadline dates.","operationId":"list_grant_calls_api_grants_calls_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Full-text search query","title":"Search"},"description":"Full-text search query"},{"name":"funder","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/FunderSlug"},{"type":"null"}],"description":"Filter by funder","title":"Funder"},"description":"Filter by funder"},{"name":"program_family","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(erc|msca|hlth|cl2|cl3|cl4|cl5|cl6)$"},{"type":"null"}],"description":"Filter Horizon/ERC calls by program family","title":"Program Family"},"description":"Filter Horizon/ERC calls by program family"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/GrantStatus"},{"type":"null"}],"description":"Filter by status","title":"Status"},"description":"Filter by status"},{"name":"research_area","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by research-area code","title":"Research Area"},"description":"Filter by research-area code"},{"name":"closes_within_days","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":365,"minimum":1},{"type":"null"}],"description":"Only return calls closing within N days","title":"Closes Within Days"},"description":"Only return calls closing within N days"},{"name":"sort_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Sort field: deadline, amount_desc, amount_asc, title, funder","title":"Sort By"},"description":"Sort field: deadline, amount_desc, amount_asc, title, funder"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"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/GrantCallListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/grants/research-areas":{"get":{"tags":["grants"],"summary":"List research areas","description":"Returns all research area classifications used to tag grant calls. Each area has a code, Swedish name, and optional English name.","operationId":"list_research_areas_api_grants_research_areas_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ResearchArea"},"type":"array","title":"Response List Research Areas Api Grants Research Areas Get"}}}}}}},"/api/grants/calls/{call_id}/similar":{"get":{"tags":["grants"],"summary":"Get similar grants","description":"Returns grant calls similar to the given one based on semantic embedding similarity.","operationId":"get_similar_grants_api_grants_calls__call_id__similar_get","parameters":[{"name":"call_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Call Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":20,"minimum":1,"default":5,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SimilarGrant"},"title":"Response Get Similar Grants Api Grants Calls  Call Id  Similar Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/grants/calls/{call_id}":{"get":{"tags":["grants"],"summary":"Get grant call details","description":"Returns full details for a single grant call by ID, including title, description, funder, eligibility criteria, deadlines, funding amounts, and research areas.","operationId":"get_grant_call_api_grants_calls__call_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"call_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Call Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantCall"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/grants/saved":{"get":{"tags":["grants"],"summary":"List Saved Grants","operationId":"list_saved_grants_api_grants_saved_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SavedGrant"},"type":"array","title":"Response List Saved Grants Api Grants Saved Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["grants"],"summary":"Save Grant","operationId":"save_grant_api_grants_saved_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaveGrantRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedGrant"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/grants/saved/calendar":{"get":{"tags":["grants"],"summary":"List Saved Grant Calendar","operationId":"list_saved_grant_calendar_api_grants_saved_calendar_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SavedGrantCalendarItem"},"type":"array","title":"Response List Saved Grant Calendar Api Grants Saved Calendar Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/grants/saved/{grant_call_id}":{"delete":{"tags":["grants"],"summary":"Unsave Grant","operationId":"unsave_grant_api_grants_saved__grant_call_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"grant_call_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Grant Call Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/grants/saved/{grant_call_id}/note":{"patch":{"tags":["grants"],"summary":"Update Saved Grant Note","operationId":"update_saved_grant_note_api_grants_saved__grant_call_id__note_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"grant_call_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Grant Call Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSavedGrantNoteRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedGrant"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/grants/ignored":{"get":{"tags":["grants"],"summary":"List Ignored Grants","operationId":"list_ignored_grants_api_grants_ignored_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/IgnoredGrant"},"type":"array","title":"Response List Ignored Grants Api Grants Ignored Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["grants"],"summary":"Ignore Grant","operationId":"ignore_grant_api_grants_ignored_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaveGrantRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IgnoredGrant"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/grants/ignored/{grant_call_id}":{"delete":{"tags":["grants"],"summary":"Unignore Grant","operationId":"unignore_grant_api_grants_ignored__grant_call_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"grant_call_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Grant Call Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/grants/ignored/calls":{"get":{"tags":["grants"],"summary":"List Ignored Grant Calls","operationId":"list_ignored_grant_calls_api_grants_ignored_calls_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/IgnoredGrantCalendarItem"},"type":"array","title":"Response List Ignored Grant Calls Api Grants Ignored Calls Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/grants/ignored-funders":{"get":{"tags":["grants"],"summary":"List Ignored Funders","operationId":"list_ignored_funders_api_grants_ignored_funders_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/IgnoredFunder"},"type":"array","title":"Response List Ignored Funders Api Grants Ignored Funders Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["grants"],"summary":"Ignore Funder","operationId":"ignore_funder_api_grants_ignored_funders_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IgnoreFunderRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IgnoredFunder"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/grants/ignored-funders/{funder_slug}":{"delete":{"tags":["grants"],"summary":"Unignore Funder","operationId":"unignore_funder_api_grants_ignored_funders__funder_slug__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"funder_slug","in":"path","required":true,"schema":{"type":"string","title":"Funder Slug"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/researchers":{"get":{"tags":["researchers"],"summary":"List Researchers","operationId":"list_researchers_api_researchers_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"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":{"type":"array","items":{"$ref":"#/components/schemas/ResearcherProfile"},"title":"Response List Researchers Api Researchers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["researchers"],"summary":"Create Researcher","operationId":"create_researcher_api_researchers_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearcherCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearcherProfile"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/researchers/orcid-lookup/{orcid}":{"get":{"tags":["researchers"],"summary":"Orcid Lookup","operationId":"orcid_lookup_api_researchers_orcid_lookup__orcid__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"orcid","in":"path","required":true,"schema":{"type":"string","title":"Orcid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrcidProfile"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/researchers/scrape-profile":{"post":{"tags":["researchers"],"summary":"Scrape Researcher Profile","operationId":"scrape_researcher_profile_api_researchers_scrape_profile_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScrapeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScrapedProfile"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/researchers/{researcher_id}":{"get":{"tags":["researchers"],"summary":"Get Researcher","operationId":"get_researcher_api_researchers__researcher_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"researcher_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Researcher Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearcherProfile"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["researchers"],"summary":"Update Researcher","operationId":"update_researcher_api_researchers__researcher_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"researcher_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Researcher Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearcherUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearcherProfile"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/researchers/{researcher_id}/dossier":{"get":{"tags":["researchers"],"summary":"List Dossier Entries","operationId":"list_dossier_entries_api_researchers__researcher_id__dossier_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"researcher_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Researcher Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DossierEntry"},"title":"Response List Dossier Entries Api Researchers  Researcher Id  Dossier Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["researchers"],"summary":"Create Dossier Entry","operationId":"create_dossier_entry_api_researchers__researcher_id__dossier_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"researcher_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Researcher Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DossierEntryCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DossierEntry"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/researchers/{researcher_id}/dossier/{entry_id}":{"patch":{"tags":["researchers"],"summary":"Update Dossier Entry","operationId":"update_dossier_entry_api_researchers__researcher_id__dossier__entry_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"researcher_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Researcher Id"}},{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entry Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DossierEntryUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DossierEntry"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["researchers"],"summary":"Delete Dossier Entry","operationId":"delete_dossier_entry_api_researchers__researcher_id__dossier__entry_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"researcher_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Researcher Id"}},{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entry Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/matching/compute/{researcher_id}":{"post":{"tags":["matching"],"summary":"Compute Matches","operationId":"compute_matches_api_matching_compute__researcher_id__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"researcher_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Researcher Id"}},{"name":"force","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Force"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MatchResult"},"title":"Response Compute Matches Api Matching Compute  Researcher Id  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/matching/{researcher_id}":{"get":{"tags":["matching"],"summary":"Get Matches","operationId":"get_matches_api_matching__researcher_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"researcher_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Researcher Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MatchResult"},"title":"Response Get Matches Api Matching  Researcher Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/writing/workspace-status":{"get":{"tags":["writing"],"summary":"Get Workspace Status","operationId":"get_workspace_status_api_writing_workspace_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WritingWorkspaceStatusResponse"}}}}}}},"/api/writing/waitlist":{"get":{"tags":["writing"],"summary":"Get Waitlist Status","operationId":"get_waitlist_status_api_writing_waitlist_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WritingWaitlistStatusResponse"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["writing"],"summary":"Join Waitlist","operationId":"join_waitlist_api_writing_waitlist_post","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/WritingWaitlistJoinRequest"},{"type":"null"}],"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WritingWaitlistJoinResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/writing/waitlist/public":{"post":{"tags":["writing"],"summary":"Join Public Waitlist","operationId":"join_public_waitlist_api_writing_waitlist_public_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicWritingWaitlistJoinRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicWritingWaitlistJoinResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/writing/sessions":{"post":{"tags":["writing"],"summary":"Create Session","operationId":"create_session_api_writing_sessions_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WritingSessionCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WritingSessionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/writing/sessions/{session_id}":{"get":{"tags":["writing"],"summary":"Get Session","operationId":"get_session_api_writing_sessions__session_id__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/WritingSessionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/writing/researchers/{researcher_id}/sessions":{"get":{"tags":["writing"],"summary":"List Sessions","operationId":"list_sessions_api_writing_researchers__researcher_id__sessions_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"researcher_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Researcher Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WritingSessionResponse"},"title":"Response List Sessions Api Writing Researchers  Researcher Id  Sessions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/writing/sessions/{session_id}/compliance":{"get":{"tags":["writing"],"summary":"Get Session Compliance","operationId":"get_session_compliance_api_writing_sessions__session_id__compliance_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/WritingComplianceCheckResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/writing/sessions/{session_id}/export":{"get":{"tags":["writing"],"summary":"Export Session","operationId":"export_session_api_writing_sessions__session_id__export_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"format","in":"query","required":false,"schema":{"$ref":"#/components/schemas/WritingExportFormat","default":"docx"}}],"responses":{"200":{"description":"Successful Response","content":{"application/pdf":{},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/writing/sections/{section_id}/versions":{"get":{"tags":["writing"],"summary":"List Section Versions","operationId":"list_section_versions_api_writing_sections__section_id__versions_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"section_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Section Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DraftSectionVersionResponse"},"title":"Response List Section Versions Api Writing Sections  Section Id  Versions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/writing/sections/{section_id}/versions/{version_id}/restore":{"post":{"tags":["writing"],"summary":"Restore Section Version","operationId":"restore_section_version_api_writing_sections__section_id__versions__version_id__restore_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"section_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Section Id"}},{"name":"version_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Version Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DraftSection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/writing/sections/{section_id}/suggest":{"post":{"tags":["writing"],"summary":"Generate Suggestions","operationId":"generate_suggestions_api_writing_sections__section_id__suggest_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"section_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Section Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DraftSection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/writing/sections/{section_id}":{"patch":{"tags":["writing"],"summary":"Update Section","operationId":"update_section_api_writing_sections__section_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"section_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Section Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DraftSectionUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DraftSection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/writing/sections/{section_id}/autosave":{"put":{"tags":["writing"],"summary":"Autosave Section","operationId":"autosave_section_api_writing_sections__section_id__autosave_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"section_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Section Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SectionAutosaveUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DraftSection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/writing/sections/{section_id}/status":{"patch":{"tags":["writing"],"summary":"Update Section Status","operationId":"update_section_status_api_writing_sections__section_id__status_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"section_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Section Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SectionStatusUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DraftSection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/register":{"post":{"tags":["auth"],"summary":"Register","operationId":"register_api_auth_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRegister"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/login":{"post":{"tags":["auth"],"summary":"Login","operationId":"login_api_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserLogin"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/refresh":{"post":{"tags":["auth"],"summary":"Refresh Tokens","operationId":"refresh_tokens_api_auth_refresh_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshTokenRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/request-reset":{"post":{"tags":["auth"],"summary":"Request Password Reset","operationId":"request_password_reset_api_auth_request_reset_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordResetRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/reset-password":{"post":{"tags":["auth"],"summary":"Reset Password","operationId":"reset_password_api_auth_reset_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordResetConfirm"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/reset-password/validate":{"post":{"tags":["auth"],"summary":"Validate Reset Token","operationId":"validate_reset_token_api_auth_reset_password_validate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordResetTokenStatusRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordResetStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/unsubscribe":{"post":{"tags":["auth"],"summary":"Unsubscribe","operationId":"unsubscribe_api_auth_unsubscribe_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnsubscribeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/preferences":{"get":{"tags":["auth"],"summary":"Get Digest Preferences","operationId":"get_digest_preferences_api_auth_preferences_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DigestPreferencesResponse"}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["auth"],"summary":"Update Digest Preferences","operationId":"update_digest_preferences_api_auth_preferences_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DigestPreferencesUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DigestPreferencesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/auth/digest-sends":{"get":{"tags":["auth"],"summary":"List Digest Sends","operationId":"list_digest_sends_api_auth_digest_sends_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"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/DigestSendListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/digest-send-now":{"post":{"tags":["auth"],"summary":"Run Digest Send Now","operationId":"run_digest_send_now_api_auth_digest_send_now_post","responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/auth/contact":{"post":{"tags":["auth"],"summary":"Submit Contact Form","operationId":"submit_contact_form_api_auth_contact_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactFormRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/notifications":{"get":{"tags":["auth"],"summary":"List Notifications","operationId":"list_notifications_api_auth_notifications_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/notifications/{notification_id}/read":{"patch":{"tags":["auth"],"summary":"Mark Notification Read","operationId":"mark_notification_read_api_auth_notifications__notification_id__read_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"notification_id","in":"path","required":true,"schema":{"type":"string","title":"Notification Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/notifications/read-all":{"post":{"tags":["auth"],"summary":"Mark All Notifications Read","operationId":"mark_all_notifications_read_api_auth_notifications_read_all_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/auth/me":{"get":{"tags":["auth"],"summary":"Get Current User","operationId":"get_current_user_api_auth_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/admin/overview":{"get":{"tags":["admin"],"summary":"Get Admin Overview","operationId":"get_admin_overview_api_admin_overview_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminOverviewResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/agent-traffic":{"get":{"tags":["admin"],"summary":"Get Admin Agent Traffic","operationId":"get_admin_agent_traffic_api_admin_agent_traffic_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Days"}},{"name":"agent_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":80},{"type":"null"}],"title":"Agent Name"}},{"name":"surface","in":"query","required":false,"schema":{"anyOf":[{"enum":["api","site","unknown"],"type":"string"},{"type":"null"}],"title":"Surface"}},{"name":"status_code","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":599,"minimum":100},{"type":"null"}],"title":"Status Code"}},{"name":"path_prefix","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":500},{"type":"null"}],"title":"Path Prefix"}},{"name":"limit_recent","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit Recent"}},{"name":"format","in":"query","required":false,"schema":{"enum":["json","csv"],"type":"string","default":"json","title":"Format"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminAgentTrafficSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/scraper-quality/grants":{"get":{"tags":["admin"],"summary":"List Scraper Quality Grants","operationId":"list_scraper_quality_grants_api_admin_scraper_quality_grants_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"publish_state","in":"query","required":false,"schema":{"anyOf":[{"enum":["published","shadow","quarantined","blocked"],"type":"string"},{"type":"null"}],"title":"Publish State"}},{"name":"quality_tier","in":"query","required":false,"schema":{"anyOf":[{"enum":["high","medium","low","blocked"],"type":"string"},{"type":"null"}],"title":"Quality Tier"}},{"name":"source_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":120},{"type":"null"}],"title":"Source Name"}},{"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"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminGrantQualityListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/scraper-quality/grants/{grant_call_id}/override":{"post":{"tags":["admin"],"summary":"Override Scraper Quality Grant","operationId":"override_scraper_quality_grant_api_admin_scraper_quality_grants__grant_call_id__override_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"grant_call_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Grant Call Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminGrantQualityOverrideRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminGrantQualityRecord"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/error-reports":{"get":{"tags":["admin"],"summary":"List Admin Error Reports","operationId":"list_admin_error_reports_api_admin_error_reports_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"enum":["pending","reviewed","resolved"],"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":500},{"type":"null"}],"title":"Search"}},{"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"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminGrantErrorReportListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/error-reports/{report_id}":{"patch":{"tags":["admin"],"summary":"Update Admin Error Report","operationId":"update_admin_error_report_api_admin_error_reports__report_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"report_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Report Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminGrantErrorReportUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminGrantErrorReportRecord"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/users":{"get":{"tags":["admin"],"summary":"List Admin Users","operationId":"list_admin_users_api_admin_users_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":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":200},{"type":"null"}],"title":"Search"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/users/{user_id}/role":{"patch":{"tags":["admin"],"summary":"Update Admin User Role","operationId":"update_admin_user_role_api_admin_users__user_id__role_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserRoleUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserRecord"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/audit":{"get":{"tags":["admin"],"summary":"List Admin Audit Logs","operationId":"list_admin_audit_logs_api_admin_audit_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":"action","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":80},{"type":"null"}],"title":"Action"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"enum":["success","denied","error"],"type":"string"},{"type":"null"}],"title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminAuditListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/metrics/event":{"post":{"tags":["metrics"],"summary":"Create Product Event","operationId":"create_product_event_api_metrics_event_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductEventCreate"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductEventAccepted"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/metrics/summary":{"get":{"tags":["metrics"],"summary":"Get Product Event Summary","operationId":"get_product_event_summary_api_metrics_summary_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Days"}},{"name":"X-Metrics-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Metrics-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductEventSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/webhooks/resend-inbound":{"post":{"tags":["webhooks"],"summary":"Resend Inbound Webhook","operationId":"resend_inbound_webhook_api_webhooks_resend_inbound_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/feeds/grants":{"get":{"tags":["feeds"],"summary":"Atom feed of open grant calls","description":"Returns an Atom XML feed of open grant calls, optionally filtered by funder, research area, or status.","operationId":"grants_atom_feed_api_feeds_grants_get","parameters":[{"name":"funder","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/FunderSlug"},{"type":"null"}],"description":"Filter by funder slug","title":"Funder"},"description":"Filter by funder slug"},{"name":"research_area","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by research-area code","title":"Research Area"},"description":"Filter by research-area code"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/GrantStatus"},{"type":"null"}],"description":"Filter by grant status (defaults to open)","title":"Status"},"description":"Filter by grant status (defaults to open)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"description":"Number of entries","default":50,"title":"Limit"},"description":"Number of entries"}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/health":{"get":{"summary":"Health","operationId":"health_api_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthSnapshot"}}}}}}},"/api/health/scraper-sources":{"get":{"summary":"Scraper Sources Health","operationId":"scraper_sources_health_api_health_scraper_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScraperSourcesHealthSnapshot"}}}}}}}},"components":{"schemas":{"AdminActivationInsights":{"properties":{"onboarding_started_window":{"type":"integer","minimum":0.0,"title":"Onboarding Started Window"},"onboarding_completed_window":{"type":"integer","minimum":0.0,"title":"Onboarding Completed Window"},"onboarding_completion_rate":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Onboarding Completion Rate"},"onboarding_personalization_feedback_window":{"type":"integer","minimum":0.0,"title":"Onboarding Personalization Feedback Window"},"onboarding_personalization_relevant_window":{"type":"integer","minimum":0.0,"title":"Onboarding Personalization Relevant Window"},"onboarding_personalization_not_for_me_window":{"type":"integer","minimum":0.0,"title":"Onboarding Personalization Not For Me Window"},"onboarding_personalization_relevant_rate":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Onboarding Personalization Relevant Rate"},"matching_blocked_window":{"type":"integer","minimum":0.0,"title":"Matching Blocked Window"}},"type":"object","required":["onboarding_started_window","onboarding_completed_window","onboarding_completion_rate","onboarding_personalization_feedback_window","onboarding_personalization_relevant_window","onboarding_personalization_not_for_me_window","onboarding_personalization_relevant_rate","matching_blocked_window"],"title":"AdminActivationInsights"},"AdminAgentTrafficByAgent":{"properties":{"agent_name":{"type":"string","title":"Agent Name"},"surface":{"type":"string","enum":["api","site","unknown"],"title":"Surface"},"requests":{"type":"integer","minimum":0.0,"title":"Requests"},"verified_requests":{"type":"integer","minimum":0.0,"title":"Verified Requests"},"unverified_requests":{"type":"integer","minimum":0.0,"title":"Unverified Requests"},"last_seen_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Seen At"}},"type":"object","required":["agent_name","surface","requests","verified_requests","unverified_requests"],"title":"AdminAgentTrafficByAgent"},"AdminAgentTrafficDaily":{"properties":{"day":{"type":"string","format":"date","title":"Day"},"api_requests":{"type":"integer","minimum":0.0,"title":"Api Requests"},"site_requests":{"type":"integer","minimum":0.0,"title":"Site Requests"},"unique_agents":{"type":"integer","minimum":0.0,"title":"Unique Agents"}},"type":"object","required":["day","api_requests","site_requests","unique_agents"],"title":"AdminAgentTrafficDaily"},"AdminAgentTrafficEntrypoint":{"properties":{"path":{"type":"string","title":"Path"},"requests":{"type":"integer","minimum":0.0,"title":"Requests"},"unique_agents":{"type":"integer","minimum":0.0,"title":"Unique Agents"},"last_seen_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Seen At"}},"type":"object","required":["path","requests","unique_agents"],"title":"AdminAgentTrafficEntrypoint"},"AdminAgentTrafficFilters":{"properties":{"agent_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Name"},"surface":{"anyOf":[{"type":"string","enum":["api","site","unknown"]},{"type":"null"}],"title":"Surface"},"status_code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Status Code"},"path_prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Path Prefix"}},"type":"object","title":"AdminAgentTrafficFilters"},"AdminAgentTrafficRequest":{"properties":{"occurred_at":{"type":"string","format":"date-time","title":"Occurred At"},"agent_name":{"type":"string","title":"Agent Name"},"surface":{"type":"string","enum":["api","site","unknown"],"title":"Surface"},"path":{"type":"string","title":"Path"},"http_method":{"type":"string","title":"Http Method"},"status_code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Status Code"},"user_agent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Agent"},"agent_authenticity":{"anyOf":[{"type":"string","enum":["verified","unknown","unverified"]},{"type":"null"}],"title":"Agent Authenticity"},"agent_auth_method":{"anyOf":[{"type":"string","enum":["proxy_header","rdns","none"]},{"type":"null"}],"title":"Agent Auth Method"},"agent_verified_hostname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Verified Hostname"},"client_ip":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Ip"}},"type":"object","required":["occurred_at","agent_name","surface","path","http_method"],"title":"AdminAgentTrafficRequest"},"AdminAgentTrafficSummary":{"properties":{"generated_at":{"type":"string","format":"date-time","title":"Generated At"},"days":{"type":"integer","title":"Days"},"from_date":{"type":"string","format":"date-time","title":"From Date"},"to_date":{"type":"string","format":"date-time","title":"To Date"},"total_requests":{"type":"integer","minimum":0.0,"title":"Total Requests"},"api_requests":{"type":"integer","minimum":0.0,"title":"Api Requests"},"site_requests":{"type":"integer","minimum":0.0,"title":"Site Requests"},"verified_requests":{"type":"integer","minimum":0.0,"title":"Verified Requests"},"unverified_requests":{"type":"integer","minimum":0.0,"title":"Unverified Requests"},"unique_agents":{"type":"integer","minimum":0.0,"title":"Unique Agents"},"filters":{"$ref":"#/components/schemas/AdminAgentTrafficFilters"},"entrypoints":{"items":{"$ref":"#/components/schemas/AdminAgentTrafficEntrypoint"},"type":"array","title":"Entrypoints"},"by_agent":{"items":{"$ref":"#/components/schemas/AdminAgentTrafficByAgent"},"type":"array","title":"By Agent"},"daily":{"items":{"$ref":"#/components/schemas/AdminAgentTrafficDaily"},"type":"array","title":"Daily"},"recent_requests":{"items":{"$ref":"#/components/schemas/AdminAgentTrafficRequest"},"type":"array","title":"Recent Requests"}},"type":"object","required":["generated_at","days","from_date","to_date","total_requests","api_requests","site_requests","verified_requests","unverified_requests","unique_agents"],"title":"AdminAgentTrafficSummary"},"AdminAuditListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AdminAuditRecord"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"limit":{"type":"integer","minimum":1.0,"title":"Limit"},"offset":{"type":"integer","minimum":0.0,"title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"AdminAuditListResponse"},"AdminAuditRecord":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"actor_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Actor User Id"},"actor_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Actor Email"},"action":{"type":"string","title":"Action"},"target_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Type"},"target_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Id"},"status":{"type":"string","enum":["success","denied","error"],"title":"Status"},"details":{"additionalProperties":true,"type":"object","title":"Details"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","action","status","created_at"],"title":"AdminAuditRecord"},"AdminFeedbackInsights":{"properties":{"feedback_submitted_window":{"type":"integer","minimum":0.0,"title":"Feedback Submitted Window"},"feedback_bug_reports_window":{"type":"integer","minimum":0.0,"title":"Feedback Bug Reports Window"},"feedback_feature_requests_window":{"type":"integer","minimum":0.0,"title":"Feedback Feature Requests Window"},"feedback_contact_messages_window":{"type":"integer","minimum":0.0,"title":"Feedback Contact Messages Window"},"feedback_not_interested_window":{"type":"integer","minimum":0.0,"title":"Feedback Not Interested Window"},"feedback_linked_grant_window":{"type":"integer","minimum":0.0,"title":"Feedback Linked Grant Window"}},"type":"object","required":["feedback_submitted_window","feedback_bug_reports_window","feedback_feature_requests_window","feedback_contact_messages_window","feedback_not_interested_window","feedback_linked_grant_window"],"title":"AdminFeedbackInsights"},"AdminFunnel":{"properties":{"days":{"type":"integer","title":"Days"},"visitors_authenticated":{"type":"integer","minimum":0.0,"title":"Visitors Authenticated"},"signups_completed":{"type":"integer","minimum":0.0,"title":"Signups Completed"},"profiles_activated_light":{"type":"integer","minimum":0.0,"title":"Profiles Activated Light"},"profiles_ready_strict":{"type":"integer","minimum":0.0,"title":"Profiles Ready Strict"},"users_saved_grant":{"type":"integer","minimum":0.0,"title":"Users Saved Grant"},"users_digest_enabled":{"type":"integer","minimum":0.0,"title":"Users Digest Enabled"},"users_submitted_application":{"type":"integer","minimum":0.0,"title":"Users Submitted Application"},"signup_from_visitor_rate":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Signup From Visitor Rate"},"profile_activation_from_signup_rate":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Profile Activation From Signup Rate"},"profile_ready_from_signup_rate":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Profile Ready From Signup Rate"},"saved_from_signup_rate":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Saved From Signup Rate"},"digest_enabled_from_signup_rate":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Digest Enabled From Signup Rate"},"submitted_from_signup_rate":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Submitted From Signup Rate"}},"type":"object","required":["days","visitors_authenticated","signups_completed","profiles_activated_light","profiles_ready_strict","users_saved_grant","users_digest_enabled","users_submitted_application","signup_from_visitor_rate","profile_activation_from_signup_rate","profile_ready_from_signup_rate","saved_from_signup_rate","digest_enabled_from_signup_rate","submitted_from_signup_rate"],"title":"AdminFunnel"},"AdminGrantErrorReportListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AdminGrantErrorReportRecord"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"limit":{"type":"integer","minimum":1.0,"title":"Limit"},"offset":{"type":"integer","minimum":0.0,"title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"AdminGrantErrorReportListResponse"},"AdminGrantErrorReportRecord":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"grant_call_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Grant Call Id"},"grant_call_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Grant Call Title"},"sender_email":{"type":"string","title":"Sender Email"},"sender_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sender Name"},"subject":{"type":"string","title":"Subject"},"body_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body Text"},"resend_email_id":{"type":"string","title":"Resend Email Id"},"status":{"type":"string","enum":["pending","reviewed","resolved"],"title":"Status"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","sender_email","subject","resend_email_id","status","created_at"],"title":"AdminGrantErrorReportRecord"},"AdminGrantErrorReportUpdateRequest":{"properties":{"status":{"type":"string","enum":["pending","reviewed","resolved"],"title":"Status"}},"type":"object","required":["status"],"title":"AdminGrantErrorReportUpdateRequest"},"AdminGrantQualityListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AdminGrantQualityRecord"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"limit":{"type":"integer","minimum":1.0,"title":"Limit"},"offset":{"type":"integer","minimum":0.0,"title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"AdminGrantQualityListResponse"},"AdminGrantQualityOverrideRequest":{"properties":{"publish_state":{"type":"string","enum":["published","shadow","quarantined","blocked"],"title":"Publish State"},"override_note":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Override Note"}},"type":"object","required":["publish_state"],"title":"AdminGrantQualityOverrideRequest"},"AdminGrantQualityRecord":{"properties":{"grant_call_id":{"type":"string","format":"uuid","title":"Grant Call Id"},"title":{"type":"string","title":"Title"},"funder_slug":{"type":"string","title":"Funder Slug"},"source_name":{"type":"string","title":"Source Name"},"quality_score":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Quality Score"},"quality_tier":{"type":"string","enum":["high","medium","low","blocked"],"title":"Quality Tier"},"publish_state":{"type":"string","enum":["published","shadow","quarantined","blocked"],"title":"Publish State"},"quality_flags":{"items":{"type":"string"},"type":"array","title":"Quality Flags"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"closes_at":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Closes At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["grant_call_id","title","funder_slug","source_name","quality_score","quality_tier","publish_state","updated_at"],"title":"AdminGrantQualityRecord"},"AdminKpis":{"properties":{"users_total":{"type":"integer","minimum":0.0,"title":"Users Total"},"users_new_window":{"type":"integer","minimum":0.0,"title":"Users New Window"},"grants_total":{"type":"integer","minimum":0.0,"title":"Grants Total"},"grants_open":{"type":"integer","minimum":0.0,"title":"Grants Open"},"grants_upcoming":{"type":"integer","minimum":0.0,"title":"Grants Upcoming"},"grants_closed":{"type":"integer","minimum":0.0,"title":"Grants Closed"},"visitors_unique_anonymous_window":{"type":"integer","minimum":0.0,"title":"Visitors Unique Anonymous Window"},"visitors_unique_users_window":{"type":"integer","minimum":0.0,"title":"Visitors Unique Users Window"},"events_total_window":{"type":"integer","minimum":0.0,"title":"Events Total Window"},"writing_waitlist_signups_window":{"type":"integer","minimum":0.0,"title":"Writing Waitlist Signups Window"},"proxy_alerts_window":{"type":"integer","minimum":0.0,"title":"Proxy Alerts Window"},"scraper_quality_alerts_window":{"type":"integer","minimum":0.0,"title":"Scraper Quality Alerts Window"}},"type":"object","required":["users_total","users_new_window","grants_total","grants_open","grants_upcoming","grants_closed","visitors_unique_anonymous_window","visitors_unique_users_window","events_total_window","writing_waitlist_signups_window","proxy_alerts_window","scraper_quality_alerts_window"],"title":"AdminKpis"},"AdminMatchingInsights":{"properties":{"matching_computed_window":{"type":"integer","minimum":0.0,"title":"Matching Computed Window"},"match_list_viewed_window":{"type":"integer","minimum":0.0,"title":"Match List Viewed Window"},"match_card_clicked_window":{"type":"integer","minimum":0.0,"title":"Match Card Clicked Window"},"grant_detail_viewed_window":{"type":"integer","minimum":0.0,"title":"Grant Detail Viewed Window"},"grant_original_link_clicked_window":{"type":"integer","minimum":0.0,"title":"Grant Original Link Clicked Window"},"match_feedback_submitted_window":{"type":"integer","minimum":0.0,"title":"Match Feedback Submitted Window"},"match_feedback_good_window":{"type":"integer","minimum":0.0,"title":"Match Feedback Good Window"},"match_feedback_not_relevant_window":{"type":"integer","minimum":0.0,"title":"Match Feedback Not Relevant Window"},"match_feedback_not_eligible_window":{"type":"integer","minimum":0.0,"title":"Match Feedback Not Eligible Window"},"match_feedback_good_rate":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Match Feedback Good Rate"},"returning_users_multi_day_window":{"type":"integer","minimum":0.0,"title":"Returning Users Multi Day Window"}},"type":"object","required":["matching_computed_window","match_list_viewed_window","match_card_clicked_window","grant_detail_viewed_window","grant_original_link_clicked_window","match_feedback_submitted_window","match_feedback_good_window","match_feedback_not_relevant_window","match_feedback_not_eligible_window","match_feedback_good_rate","returning_users_multi_day_window"],"title":"AdminMatchingInsights"},"AdminOverviewResponse":{"properties":{"generated_at":{"type":"string","format":"date-time","title":"Generated At"},"days":{"type":"integer","title":"Days"},"kpis":{"$ref":"#/components/schemas/AdminKpis"},"funnel":{"$ref":"#/components/schemas/AdminFunnel"},"activation_insights":{"$ref":"#/components/schemas/AdminActivationInsights"},"matching_insights":{"$ref":"#/components/schemas/AdminMatchingInsights"},"feedback_insights":{"$ref":"#/components/schemas/AdminFeedbackInsights"},"trends_daily":{"additionalProperties":{"items":{"$ref":"#/components/schemas/DailyMetricPoint"},"type":"array"},"type":"object","title":"Trends Daily"},"proxy_alerts":{"$ref":"#/components/schemas/AdminProxyAlertSummary"},"scraper_health":{"$ref":"#/components/schemas/AdminScraperHealth"},"scraper_quality":{"$ref":"#/components/schemas/AdminScraperQuality"}},"type":"object","required":["generated_at","days","kpis","funnel","activation_insights","matching_insights","feedback_insights","trends_daily","proxy_alerts","scraper_health","scraper_quality"],"title":"AdminOverviewResponse"},"AdminProxyAlertRecord":{"properties":{"occurred_at":{"type":"string","format":"date-time","title":"Occurred At"},"alert_type":{"type":"string","title":"Alert Type"},"severity":{"type":"string","title":"Severity"},"public_path":{"type":"string","title":"Public Path"},"method":{"type":"string","title":"Method"},"status_code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Status Code"},"failure_kind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Failure Kind"},"delivery":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Delivery"},"probe":{"type":"boolean","title":"Probe","default":false},"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detail"}},"type":"object","required":["occurred_at","alert_type","severity","public_path","method"],"title":"AdminProxyAlertRecord"},"AdminProxyAlertSummary":{"properties":{"alerts_window":{"type":"integer","minimum":0.0,"title":"Alerts Window"},"probes_window":{"type":"integer","minimum":0.0,"title":"Probes Window"},"recent_alerts":{"items":{"$ref":"#/components/schemas/AdminProxyAlertRecord"},"type":"array","title":"Recent Alerts"}},"type":"object","required":["alerts_window","probes_window"],"title":"AdminProxyAlertSummary"},"AdminScraperHealth":{"properties":{"alerts_total":{"type":"integer","minimum":0.0,"title":"Alerts Total"},"failing_sources":{"type":"integer","minimum":0.0,"title":"Failing Sources"},"stale_sources":{"type":"integer","minimum":0.0,"title":"Stale Sources"},"never_run_sources":{"type":"integer","minimum":0.0,"title":"Never Run Sources"},"sources":{"items":{"$ref":"#/components/schemas/AdminScraperSourceAlert"},"type":"array","title":"Sources"}},"type":"object","required":["alerts_total","failing_sources","stale_sources","never_run_sources"],"title":"AdminScraperHealth"},"AdminScraperQuality":{"properties":{"alerts_window":{"type":"integer","minimum":0.0,"title":"Alerts Window"},"critical_window":{"type":"integer","minimum":0.0,"title":"Critical Window"},"recent_alerts":{"items":{"$ref":"#/components/schemas/AdminScraperQualityAlert"},"type":"array","title":"Recent Alerts"}},"type":"object","required":["alerts_window","critical_window"],"title":"AdminScraperQuality"},"AdminScraperQualityAlert":{"properties":{"source_name":{"type":"string","title":"Source Name"},"alert_type":{"type":"string","enum":["source_failed","zero_upsert_streak","calls_drop","duplicate_spike"],"title":"Alert Type"},"severity":{"type":"string","enum":["info","warning","critical"],"title":"Severity"},"observed_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Observed Value"},"baseline_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Baseline Value"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"details":{"additionalProperties":true,"type":"object","title":"Details"}},"type":"object","required":["source_name","alert_type","severity","created_at"],"title":"AdminScraperQualityAlert"},"AdminScraperSourceAlert":{"properties":{"source_name":{"type":"string","title":"Source Name"},"alert_reasons":{"items":{"type":"string"},"type":"array","title":"Alert Reasons"},"last_status":{"type":"string","enum":["ok","error","never"],"title":"Last Status"},"freshness":{"type":"string","enum":["fresh","stale","missing"],"title":"Freshness"},"last_run_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Run At"},"last_nonzero_activity_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Nonzero Activity At"},"recent_nonzero_activity":{"type":"boolean","title":"Recent Nonzero Activity","default":false},"zero_alert_suppressed":{"type":"boolean","title":"Zero Alert Suppressed","default":false}},"type":"object","required":["source_name","last_status","freshness"],"title":"AdminScraperSourceAlert"},"AdminUserListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AdminUserRecord"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"limit":{"type":"integer","minimum":1.0,"title":"Limit"},"offset":{"type":"integer","minimum":0.0,"title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"AdminUserListResponse"},"AdminUserRecord":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"type":"string","title":"Email"},"name":{"type":"string","title":"Name"},"is_active":{"type":"boolean","title":"Is Active"},"stored_role":{"type":"string","enum":["owner","admin","analyst","user"],"title":"Stored Role"},"effective_role":{"type":"string","enum":["owner","admin","analyst","user"],"title":"Effective Role"},"is_admin":{"type":"boolean","title":"Is Admin"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","email","name","is_active","stored_role","effective_role","is_admin","created_at"],"title":"AdminUserRecord"},"AdminUserRoleUpdate":{"properties":{"role":{"type":"string","enum":["owner","admin","analyst","user"],"title":"Role"}},"type":"object","required":["role"],"title":"AdminUserRoleUpdate"},"CareerStage":{"type":"string","enum":["phd_student","postdoc","assistant_professor","associate_professor","professor"],"title":"CareerStage"},"ComponentStatus":{"properties":{"email_provider":{"type":"string","title":"Email Provider"},"digest_scheduler":{"type":"string","enum":["enabled","disabled"],"title":"Digest Scheduler"},"digest_last_run_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Digest Last Run At"},"digest_last_run_status":{"type":"string","enum":["ok","error","never"],"title":"Digest Last Run Status"},"app_build_sha":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"App Build Sha"}},"type":"object","required":["email_provider","digest_scheduler","digest_last_run_status"],"title":"ComponentStatus"},"ContactFormRequest":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"},"email":{"type":"string","maxLength":320,"minLength":1,"title":"Email"},"message":{"type":"string","maxLength":5000,"minLength":10,"title":"Message"},"is_bug_report":{"type":"boolean","title":"Is Bug Report","default":false},"grant_call_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Grant Call Id"},"feedback_type":{"anyOf":[{"type":"string","enum":["contact","bug","feature"]},{"type":"null"}],"title":"Feedback Type"},"feedback_context":{"anyOf":[{"type":"string","enum":["general","grant_error","not_interested"]},{"type":"null"}],"title":"Feedback Context"}},"type":"object","required":["name","email","message"],"title":"ContactFormRequest"},"DailyCount":{"properties":{"day":{"type":"string","format":"date","title":"Day"},"count":{"type":"integer","minimum":0.0,"title":"Count"}},"type":"object","required":["day","count"],"title":"DailyCount"},"DailyMetricPoint":{"properties":{"day":{"type":"string","format":"date","title":"Day"},"value":{"type":"integer","minimum":0.0,"title":"Value"}},"type":"object","required":["day","value"],"title":"DailyMetricPoint"},"DigestFrequency":{"type":"string","enum":["off","daily","weekly","monthly"],"title":"DigestFrequency"},"DigestPreferencesResponse":{"properties":{"language_preference":{"$ref":"#/components/schemas/LanguagePreference","default":"en"},"digest_enabled":{"type":"boolean","title":"Digest Enabled","default":false},"digest_frequency":{"$ref":"#/components/schemas/DigestFrequency","default":"off"},"digest_hour_utc":{"type":"integer","maximum":23.0,"minimum":0.0,"title":"Digest Hour Utc","default":8},"deadline_reminder_days":{"type":"integer","maximum":30.0,"minimum":0.0,"title":"Deadline Reminder Days","default":0},"last_digest_sent_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Digest Sent At"},"language":{"$ref":"#/components/schemas/LanguagePreference","default":"en"}},"type":"object","title":"DigestPreferencesResponse"},"DigestPreferencesUpdate":{"properties":{"language_preference":{"anyOf":[{"$ref":"#/components/schemas/LanguagePreference"},{"type":"null"}]},"digest_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Digest Enabled"},"digest_frequency":{"anyOf":[{"$ref":"#/components/schemas/DigestFrequency"},{"type":"string","enum":["off","weekly","monthly"]},{"type":"null"}],"title":"Digest Frequency"},"digest_hour_utc":{"anyOf":[{"type":"integer","maximum":23.0,"minimum":0.0},{"type":"null"}],"title":"Digest Hour Utc"},"deadline_reminder_days":{"anyOf":[{"type":"integer","maximum":30.0,"minimum":0.0},{"type":"null"}],"title":"Deadline Reminder Days"},"language":{"anyOf":[{"$ref":"#/components/schemas/LanguagePreference"},{"type":"null"}]},"preferred_language":{"anyOf":[{"$ref":"#/components/schemas/LanguagePreference"},{"type":"null"}]},"locale":{"anyOf":[{"$ref":"#/components/schemas/LanguagePreference"},{"type":"null"}]},"ui_language":{"anyOf":[{"$ref":"#/components/schemas/LanguagePreference"},{"type":"null"}]},"digest":{"anyOf":[{"type":"string","enum":["off","weekly","monthly"]},{"type":"null"}],"title":"Digest"},"email_digest_frequency":{"anyOf":[{"type":"string","enum":["off","weekly","monthly"]},{"type":"null"}],"title":"Email Digest Frequency"}},"type":"object","title":"DigestPreferencesUpdate"},"DigestSendListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/DigestSendRecord"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"limit":{"type":"integer","minimum":1.0,"title":"Limit"},"offset":{"type":"integer","minimum":0.0,"title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"DigestSendListResponse"},"DigestSendRecord":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"status":{"$ref":"#/components/schemas/DigestSendStatus"},"provider":{"type":"string","title":"Provider"},"provider_message_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider Message Id"},"scheduled_for":{"type":"string","format":"date-time","title":"Scheduled For"},"sent_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Sent At"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","user_id","status","provider","scheduled_for","created_at"],"title":"DigestSendRecord"},"DigestSendStatus":{"type":"string","enum":["pending","sent","failed","skipped"],"title":"DigestSendStatus"},"DossierEntry":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"researcher_id":{"type":"string","format":"uuid","title":"Researcher Id"},"entry_type":{"$ref":"#/components/schemas/DossierEntryType"},"title":{"type":"string","title":"Title"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"source":{"$ref":"#/components/schemas/DossierEntrySource"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"is_highlighted":{"type":"boolean","title":"Is Highlighted","default":false},"display_order":{"type":"integer","title":"Display Order","default":0},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","researcher_id","entry_type","title","source","created_at","updated_at"],"title":"DossierEntry"},"DossierEntryCreate":{"properties":{"entry_type":{"$ref":"#/components/schemas/DossierEntryType"},"title":{"type":"string","maxLength":500,"title":"Title"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"source":{"$ref":"#/components/schemas/DossierEntrySource","default":"user_entered"},"source_url":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Source Url"},"is_highlighted":{"type":"boolean","title":"Is Highlighted","default":false},"display_order":{"type":"integer","title":"Display Order","default":0}},"type":"object","required":["entry_type","title"],"title":"DossierEntryCreate"},"DossierEntrySource":{"type":"string","enum":["user_entered","orcid_import","profile_scrape","swecris_match","inferred"],"title":"DossierEntrySource"},"DossierEntryType":{"type":"string","enum":["publication","funded_project","biography","capability_statement","method_note","collaboration_note","other"],"title":"DossierEntryType"},"DossierEntryUpdate":{"properties":{"entry_type":{"anyOf":[{"$ref":"#/components/schemas/DossierEntryType"},{"type":"null"}]},"title":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Title"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"source":{"anyOf":[{"$ref":"#/components/schemas/DossierEntrySource"},{"type":"null"}]},"source_url":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Source Url"},"is_highlighted":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Highlighted"},"display_order":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Display Order"}},"type":"object","title":"DossierEntryUpdate"},"DraftSection":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"session_id":{"type":"string","format":"uuid","title":"Session Id"},"section_type":{"$ref":"#/components/schemas/SectionType"},"title":{"type":"string","title":"Title"},"content":{"type":"string","title":"Content","default":""},"status":{"$ref":"#/components/schemas/SectionStatus","default":"draft"},"ai_suggestions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Suggestions"},"order":{"type":"integer","title":"Order","default":0},"last_saved_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Saved At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","session_id","section_type","title","created_at","updated_at"],"title":"DraftSection"},"DraftSectionUpdate":{"properties":{"section_type":{"anyOf":[{"$ref":"#/components/schemas/SectionType"},{"type":"null"}]},"status":{"anyOf":[{"$ref":"#/components/schemas/SectionStatus"},{"type":"null"}]},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"ai_suggestions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Suggestions"},"order":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Order"}},"type":"object","title":"DraftSectionUpdate"},"DraftSectionVersionChangeType":{"type":"string","enum":["created","edited","autosave","status_changed","ai_suggestion","restored"],"title":"DraftSectionVersionChangeType"},"DraftSectionVersionResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"section_id":{"type":"string","format":"uuid","title":"Section Id"},"version_number":{"type":"integer","title":"Version Number"},"change_type":{"$ref":"#/components/schemas/DraftSectionVersionChangeType"},"title":{"type":"string","title":"Title"},"content":{"type":"string","title":"Content","default":""},"status":{"$ref":"#/components/schemas/SectionStatus","default":"draft"},"ai_suggestions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Suggestions"},"restored_from_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Restored From Version Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"word_count":{"type":"integer","title":"Word Count","default":0},"preview":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preview"},"is_latest":{"type":"boolean","title":"Is Latest","default":false}},"type":"object","required":["id","section_id","version_number","change_type","title","created_at"],"title":"DraftSectionVersionResponse"},"EventCount":{"properties":{"event_name":{"type":"string","title":"Event Name"},"count":{"type":"integer","minimum":0.0,"title":"Count"}},"type":"object","required":["event_name","count"],"title":"EventCount"},"FundedProject":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"funder_id":{"type":"string","format":"uuid","title":"Funder Id"},"external_id":{"type":"string","title":"External Id"},"title":{"type":"string","title":"Title"},"title_en":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title En"},"abstract":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abstract"},"abstract_en":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abstract En"},"principal_investigator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Principal Investigator"},"organization":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization"},"start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Start Date"},"end_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"End Date"},"total_amount_sek":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Amount Sek"},"swecris_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Swecris Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"funder":{"anyOf":[{"$ref":"#/components/schemas/Funder"},{"type":"null"}]},"research_areas":{"items":{"$ref":"#/components/schemas/ResearchArea"},"type":"array","title":"Research Areas"}},"type":"object","required":["id","funder_id","external_id","title","created_at"],"title":"FundedProject"},"FundedProjectListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/FundedProject"},"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":"FundedProjectListResponse"},"Funder":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"slug":{"$ref":"#/components/schemas/FunderSlug"},"name":{"type":"string","title":"Name"},"name_en":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name En"},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","slug","name","created_at"],"title":"Funder"},"FunderDetailResponse":{"properties":{"slug":{"$ref":"#/components/schemas/FunderSlug"},"name":{"type":"string","title":"Name"},"name_en":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name En"},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website"},"open_calls_count":{"type":"integer","title":"Open Calls Count"},"funded_projects_total":{"type":"integer","title":"Funded Projects Total"},"funded_projects_average_amount_sek":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Funded Projects Average Amount Sek"},"funded_projects_by_year":{"items":{"$ref":"#/components/schemas/FunderYearCount"},"type":"array","title":"Funded Projects By Year"},"top_research_areas":{"items":{"$ref":"#/components/schemas/FunderTopResearchArea"},"type":"array","title":"Top Research Areas"}},"type":"object","required":["slug","name","open_calls_count","funded_projects_total"],"title":"FunderDetailResponse"},"FunderSlug":{"type":"string","enum":["vetenskapsradet","vinnova","formas","forte","rj","wallenberg","sls","hjarnfonden","promobilia","groschinsky","fonden_psykisk_halsa","kamprad","skolfi","erling_persson","jeansson","thuring","lars_hiertas_minne","crafoord","region_stockholm","forss","sodra_sjukvardsregionen","ssmf","kavli","jerring","ssf","barncancerfonden","cancerfonden","mistra","energimyndigheten","svenska_spels_forskningsrad","systembolagets_alkoholforskningsrad","lakarforbundets_forskningsfond","hakanssons_stiftelse","ahrens_stiftelse","hedlunds_stiftelse","langmanska_kulturfonden","gustavssons_stiftelser","oej_vetenskapliga_stiftelse","gyllenberg","demensfonden","jane_dan_olsson","kronprinsessan_lovisa","novo_nordisk","ericsson_stiftelse","martin_rind","centrum_idrottsforskning","mmw_wallenberg","maw_wallenberg","torsten_soderberg","olle_engkvist","alzheimerfonden","ragnar_soderberg","ake_wiberg","berth_von_kantzow","fernstrom","kid_ki","folksam","afa_forsakring","nordforsk","kk_stiftelsen","ostersjostiftelsen","rymdstyrelsen","naturvardsverket","research_council_finland","research_council_norway","independent_research_fund_denmark","cost","ki_internal","erc","horizon_europe","kempestiftelserna","hjart_lungfonden","stint","wenner_gren","erc_horizon"],"title":"FunderSlug"},"FunderTopResearchArea":{"properties":{"code":{"type":"string","title":"Code"},"name_sv":{"type":"string","title":"Name Sv"},"name_en":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name En"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["code","name_sv","count"],"title":"FunderTopResearchArea"},"FunderYearCount":{"properties":{"year":{"type":"integer","title":"Year"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["year","count"],"title":"FunderYearCount"},"GrantApplication":{"properties":{"grant_call_id":{"type":"string","format":"uuid","title":"Grant Call Id"},"status":{"$ref":"#/components/schemas/GrantApplicationStatus"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"status_changed_at":{"type":"string","format":"date-time","title":"Status Changed At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["grant_call_id","status","status_changed_at","created_at","updated_at"],"title":"GrantApplication"},"GrantApplicationListItem":{"properties":{"grant_call_id":{"type":"string","format":"uuid","title":"Grant Call Id"},"status":{"$ref":"#/components/schemas/GrantApplicationStatus"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"status_changed_at":{"type":"string","format":"date-time","title":"Status Changed At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"title":{"type":"string","title":"Title"},"funder_name":{"type":"string","title":"Funder Name"},"funder_slug":{"$ref":"#/components/schemas/FunderSlug"},"grant_status":{"$ref":"#/components/schemas/GrantStatus"},"opens_at":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Opens At"},"closes_at":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Closes At"},"closed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Closed At"},"closed_reason":{"anyOf":[{"$ref":"#/components/schemas/GrantClosureReason"},{"type":"null"}]},"min_amount_sek":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Amount Sek"},"max_amount_sek":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Amount Sek"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"research_area_codes":{"items":{"type":"string"},"type":"array","title":"Research Area Codes"}},"type":"object","required":["grant_call_id","status","status_changed_at","created_at","updated_at","title","funder_name","funder_slug","grant_status"],"title":"GrantApplicationListItem"},"GrantApplicationListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/GrantApplicationListItem"},"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":"GrantApplicationListResponse"},"GrantApplicationStatus":{"type":"string","enum":["interested","drafting","submitted"],"title":"GrantApplicationStatus"},"GrantCall":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"funder_id":{"type":"string","format":"uuid","title":"Funder Id"},"external_id":{"type":"string","title":"External Id"},"program_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Program Family"},"program_scheme":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Program Scheme"},"title":{"type":"string","title":"Title"},"title_en":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title En"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"description_en":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description En"},"status":{"$ref":"#/components/schemas/GrantStatus"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"opens_at":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Opens At"},"closes_at":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Closes At"},"min_amount_sek":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Amount Sek"},"max_amount_sek":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Amount Sek"},"duration_months":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Duration Months"},"eligibility_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Eligibility Text"},"profession_requirement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Profession Requirement"},"career_years_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Career Years Min"},"career_years_max":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Career Years Max"},"closed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Closed At"},"closed_reason":{"anyOf":[{"$ref":"#/components/schemas/GrantClosureReason"},{"type":"null"}]},"application_status":{"anyOf":[{"$ref":"#/components/schemas/GrantApplicationStatus"},{"type":"null"}]},"application_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Application Note"},"quality_score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Quality Score"},"quality_tier":{"anyOf":[{"$ref":"#/components/schemas/GrantQualityTier"},{"type":"null"}]},"quality_flags":{"items":{"type":"string"},"type":"array","title":"Quality Flags"},"publish_state":{"anyOf":[{"$ref":"#/components/schemas/GrantPublishState"},{"type":"null"}]},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"funder":{"anyOf":[{"$ref":"#/components/schemas/Funder"},{"type":"null"}]},"research_areas":{"items":{"$ref":"#/components/schemas/ResearchArea"},"type":"array","title":"Research Areas"}},"type":"object","required":["id","funder_id","external_id","title","status","created_at","updated_at"],"title":"GrantCall"},"GrantCallListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/GrantCallSummary"},"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":"GrantCallListResponse"},"GrantCallSummary":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"title":{"type":"string","title":"Title"},"description_snippet":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description Snippet"},"funder_name":{"type":"string","title":"Funder Name"},"funder_slug":{"$ref":"#/components/schemas/FunderSlug"},"program_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Program Family"},"program_scheme":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Program Scheme"},"status":{"$ref":"#/components/schemas/GrantStatus"},"opens_at":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Opens At"},"closes_at":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Closes At"},"min_amount_sek":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Amount Sek"},"max_amount_sek":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Amount Sek"},"eligibility_snippet":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Eligibility Snippet"},"profession_requirement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Profession Requirement"},"career_years_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Career Years Min"},"career_years_max":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Career Years Max"},"closed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Closed At"},"closed_reason":{"anyOf":[{"$ref":"#/components/schemas/GrantClosureReason"},{"type":"null"}]},"application_status":{"anyOf":[{"$ref":"#/components/schemas/GrantApplicationStatus"},{"type":"null"}]},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"research_area_codes":{"items":{"type":"string"},"type":"array","title":"Research Area Codes"},"quality_score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Quality Score"},"quality_tier":{"anyOf":[{"$ref":"#/components/schemas/GrantQualityTier"},{"type":"null"}]},"quality_flags":{"items":{"type":"string"},"type":"array","title":"Quality Flags"},"publish_state":{"anyOf":[{"$ref":"#/components/schemas/GrantPublishState"},{"type":"null"}]}},"type":"object","required":["id","title","funder_name","funder_slug","status"],"title":"GrantCallSummary"},"GrantClosureReason":{"type":"string","enum":["source_reported_closed","deadline_passed","stale_undated","historical_rollover","non_funding","known_non_grant","source_disabled"],"title":"GrantClosureReason"},"GrantPublishState":{"type":"string","enum":["published","shadow","quarantined","blocked"],"title":"GrantPublishState"},"GrantQualityTier":{"type":"string","enum":["high","medium","low","blocked"],"title":"GrantQualityTier"},"GrantStatus":{"type":"string","enum":["open","upcoming","closed"],"title":"GrantStatus"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthSnapshot":{"properties":{"status":{"type":"string","enum":["ok","warning","error"],"title":"Status"},"db":{"type":"string","enum":["connected","disconnected"],"title":"Db"},"grants":{"type":"integer","minimum":0.0,"title":"Grants"},"last_scrape":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Scrape"},"scrape_freshness":{"$ref":"#/components/schemas/ScrapeFreshnessStatus"},"components":{"$ref":"#/components/schemas/ComponentStatus"}},"type":"object","required":["status","db","grants","scrape_freshness","components"],"title":"HealthSnapshot"},"IgnoreFunderRequest":{"properties":{"funder_slug":{"type":"string","maxLength":50,"minLength":1,"title":"Funder Slug"}},"type":"object","required":["funder_slug"],"title":"IgnoreFunderRequest"},"IgnoredFunder":{"properties":{"funder_slug":{"type":"string","title":"Funder Slug"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["funder_slug","created_at"],"title":"IgnoredFunder"},"IgnoredGrant":{"properties":{"grant_call_id":{"type":"string","format":"uuid","title":"Grant Call Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["grant_call_id","created_at"],"title":"IgnoredGrant"},"IgnoredGrantCalendarItem":{"properties":{"grant_call_id":{"type":"string","format":"uuid","title":"Grant Call Id"},"ignored_at":{"type":"string","format":"date-time","title":"Ignored At"},"title":{"type":"string","title":"Title"},"funder_name":{"type":"string","title":"Funder Name"},"funder_slug":{"$ref":"#/components/schemas/FunderSlug"},"status":{"$ref":"#/components/schemas/GrantStatus"},"opens_at":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Opens At"},"closes_at":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Closes At"},"closed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Closed At"},"closed_reason":{"anyOf":[{"$ref":"#/components/schemas/GrantClosureReason"},{"type":"null"}]},"min_amount_sek":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Amount Sek"},"max_amount_sek":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Amount Sek"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"description_snippet":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description Snippet"},"eligibility_snippet":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Eligibility Snippet"},"research_area_codes":{"items":{"type":"string"},"type":"array","title":"Research Area Codes"}},"type":"object","required":["grant_call_id","ignored_at","title","funder_name","funder_slug","status"],"title":"IgnoredGrantCalendarItem"},"LandscapeFunderBreakdown":{"properties":{"funder_slug":{"type":"string","title":"Funder Slug"},"funder_name":{"type":"string","title":"Funder Name"},"area_code":{"type":"string","title":"Area Code"},"area_name_en":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Area Name En"},"area_name_sv":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Area Name Sv"},"parent_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Code"},"project_count":{"type":"integer","title":"Project Count"},"total_amount_sek":{"type":"integer","title":"Total Amount Sek"}},"type":"object","required":["funder_slug","funder_name","area_code","project_count","total_amount_sek"],"title":"LandscapeFunderBreakdown"},"LandscapeMeta":{"properties":{"total_projects":{"type":"integer","title":"Total Projects"},"total_funders":{"type":"integer","title":"Total Funders"},"year_min":{"type":"integer","title":"Year Min"},"year_max":{"type":"integer","title":"Year Max"}},"type":"object","required":["total_projects","total_funders","year_min","year_max"],"title":"LandscapeMeta"},"LandscapeProjectItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"title":{"type":"string","title":"Title"},"title_en":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title En"},"abstract_snippet":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abstract Snippet"},"principal_investigator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Principal Investigator"},"organization":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization"},"funder_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Funder Slug"},"funder_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Funder Name"},"total_amount_sek":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Amount Sek"},"year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year"},"area_codes":{"items":{"type":"string"},"type":"array","title":"Area Codes"},"matched_terms":{"items":{"type":"string"},"type":"array","title":"Matched Terms"},"matched_topic_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Matched Topic Key"}},"type":"object","required":["id","title"],"title":"LandscapeProjectItem"},"LandscapeProjectsResponse":{"properties":{"projects":{"items":{"$ref":"#/components/schemas/LandscapeProjectItem"},"type":"array","title":"Projects"},"top_pis":{"items":{"$ref":"#/components/schemas/LandscapeTopPI"},"type":"array","title":"Top Pis"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["projects","top_pis","total"],"title":"LandscapeProjectsResponse"},"LandscapeResponse":{"properties":{"trends":{"items":{"$ref":"#/components/schemas/LandscapeTrendPoint"},"type":"array","title":"Trends"},"funder_breakdown":{"items":{"$ref":"#/components/schemas/LandscapeFunderBreakdown"},"type":"array","title":"Funder Breakdown"},"top_areas":{"items":{"$ref":"#/components/schemas/LandscapeTopArea"},"type":"array","title":"Top Areas"},"meta":{"$ref":"#/components/schemas/LandscapeMeta"}},"type":"object","required":["trends","funder_breakdown","top_areas","meta"],"title":"LandscapeResponse"},"LandscapeTopArea":{"properties":{"area_code":{"type":"string","title":"Area Code"},"area_name_en":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Area Name En"},"area_name_sv":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Area Name Sv"},"parent_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Code"},"project_count":{"type":"integer","title":"Project Count"},"total_amount_sek":{"type":"integer","title":"Total Amount Sek"},"by_funder":{"items":{"$ref":"#/components/schemas/LandscapeFunderBreakdown"},"type":"array","title":"By Funder"}},"type":"object","required":["area_code","project_count","total_amount_sek"],"title":"LandscapeTopArea"},"LandscapeTopPI":{"properties":{"name":{"type":"string","title":"Name"},"total_amount_sek":{"type":"integer","title":"Total Amount Sek"},"project_count":{"type":"integer","title":"Project Count"}},"type":"object","required":["name","total_amount_sek","project_count"],"title":"LandscapeTopPI"},"LandscapeTopicDefinition":{"properties":{"key":{"type":"string","title":"Key"},"label_en":{"type":"string","title":"Label En"},"label_sv":{"type":"string","title":"Label Sv"},"description_en":{"type":"string","title":"Description En"},"description_sv":{"type":"string","title":"Description Sv"},"include_any":{"items":{"type":"string"},"type":"array","title":"Include Any"},"exclude_any":{"items":{"type":"string"},"type":"array","title":"Exclude Any"}},"type":"object","required":["key","label_en","label_sv","description_en","description_sv"],"title":"LandscapeTopicDefinition"},"LandscapeTopicTrendPoint":{"properties":{"year":{"type":"integer","title":"Year"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["year","count"],"title":"LandscapeTopicTrendPoint"},"LandscapeTopicTrendSeries":{"properties":{"topic_key":{"type":"string","title":"Topic Key"},"points":{"items":{"$ref":"#/components/schemas/LandscapeTopicTrendPoint"},"type":"array","title":"Points"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["topic_key","total"],"title":"LandscapeTopicTrendSeries"},"LandscapeTopicTrendsResponse":{"properties":{"version":{"type":"string","title":"Version"},"source":{"type":"string","title":"Source","default":"SweCRIS"},"year_from":{"type":"integer","title":"Year From"},"year_to":{"type":"integer","title":"Year To"},"series":{"items":{"$ref":"#/components/schemas/LandscapeTopicTrendSeries"},"type":"array","title":"Series"}},"type":"object","required":["version","year_from","year_to"],"title":"LandscapeTopicTrendsResponse"},"LandscapeTopicsResponse":{"properties":{"version":{"type":"string","title":"Version"},"source":{"type":"string","title":"Source","default":"SweCRIS"},"topics":{"items":{"$ref":"#/components/schemas/LandscapeTopicDefinition"},"type":"array","title":"Topics"}},"type":"object","required":["version"],"title":"LandscapeTopicsResponse"},"LandscapeTrendPoint":{"properties":{"year":{"type":"integer","title":"Year"},"area_code":{"type":"string","title":"Area Code"},"area_name_en":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Area Name En"},"area_name_sv":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Area Name Sv"},"parent_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Code"},"project_count":{"type":"integer","title":"Project Count"},"total_amount_sek":{"type":"integer","title":"Total Amount Sek"}},"type":"object","required":["year","area_code","project_count","total_amount_sek"],"title":"LandscapeTrendPoint"},"LanguageMode":{"type":"string","enum":["sv","en"],"title":"LanguageMode"},"LanguagePreference":{"type":"string","enum":["en","sv"],"title":"LanguagePreference"},"MatchComponentScores":{"properties":{"semantic_relevance":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Semantic Relevance","default":0.0},"area_fit":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Area Fit","default":0.0},"historical_fit":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Historical Fit","default":0.0},"lexical_overlap":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Lexical Overlap","default":0.0},"publication_fit":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Publication Fit","default":0.0},"stage_boost":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Stage Boost","default":0.0},"uncertainty_penalty":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Uncertainty Penalty","default":0.0},"personalization_adjustment":{"type":"number","maximum":1.0,"minimum":-1.0,"title":"Personalization Adjustment","default":0.0}},"type":"object","title":"MatchComponentScores"},"MatchEligibilityStatus":{"type":"string","enum":["eligible","uncertain","ineligible"],"title":"MatchEligibilityStatus"},"MatchGrantCallSummary":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"title":{"type":"string","title":"Title"},"funder_name":{"type":"string","title":"Funder Name"},"funder_slug":{"$ref":"#/components/schemas/FunderSlug"},"status":{"$ref":"#/components/schemas/GrantStatus"},"closes_at":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Closes At"},"max_amount_sek":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Amount Sek"}},"type":"object","required":["id","title","funder_name","funder_slug","status"],"title":"MatchGrantCallSummary"},"MatchResult":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"researcher_id":{"type":"string","format":"uuid","title":"Researcher Id"},"grant_call_id":{"type":"string","format":"uuid","title":"Grant Call Id"},"overall_score":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Overall Score"},"breakdown":{"$ref":"#/components/schemas/MatchScoreBreakdown"},"grant_call":{"anyOf":[{"$ref":"#/components/schemas/MatchGrantCallSummary"},{"type":"null"}]},"explanation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Explanation"},"engine_version":{"type":"string","title":"Engine Version","default":"v1"},"eligibility_status":{"anyOf":[{"$ref":"#/components/schemas/MatchEligibilityStatus"},{"type":"null"}]},"eligibility_confidence":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Eligibility Confidence"},"uncertainty_flags":{"items":{"type":"string"},"type":"array","title":"Uncertainty Flags"},"disqualifiers":{"items":{"type":"string"},"type":"array","title":"Disqualifiers"},"component_scores":{"anyOf":[{"$ref":"#/components/schemas/MatchComponentScores"},{"type":"null"}]},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","researcher_id","grant_call_id","overall_score","breakdown","created_at"],"title":"MatchResult"},"MatchScoreBreakdown":{"properties":{"area_overlap":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Area Overlap","description":"Research area overlap score"},"keyword_similarity":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Keyword Similarity","description":"Keyword TF-IDF similarity"},"eligibility_fit":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Eligibility Fit","description":"Eligibility match score"},"historical_fit":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Historical Fit","description":"Similarity to past funded projects"}},"type":"object","required":["area_overlap","keyword_similarity","eligibility_fit"],"title":"MatchScoreBreakdown"},"MessageResponse":{"properties":{"message":{"type":"string","title":"Message"}},"type":"object","required":["message"],"title":"MessageResponse"},"NotificationListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/NotificationResponse"},"type":"array","title":"Items"},"unread_count":{"type":"integer","title":"Unread Count"}},"type":"object","required":["items","unread_count"],"title":"NotificationListResponse"},"NotificationResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"type":{"type":"string","title":"Type"},"title":{"type":"string","title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"grant_call_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Grant Call Id"},"read_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Read At"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","type","title","created_at"],"title":"NotificationResponse"},"OrcidProfile":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"affiliation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Affiliation"},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio"},"keywords":{"items":{"type":"string"},"type":"array","title":"Keywords"},"articles":{"items":{"type":"string"},"type":"array","title":"Articles"}},"type":"object","title":"OrcidProfile"},"PasswordResetConfirm":{"properties":{"token":{"type":"string","maxLength":2048,"minLength":20,"title":"Token"},"new_password":{"type":"string","maxLength":128,"minLength":8,"title":"New Password"}},"type":"object","required":["token","new_password"],"title":"PasswordResetConfirm"},"PasswordResetRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"}},"type":"object","required":["email"],"title":"PasswordResetRequest"},"PasswordResetStatusResponse":{"properties":{"status":{"type":"string","title":"Status"},"message":{"type":"string","title":"Message"}},"type":"object","required":["status","message"],"title":"PasswordResetStatusResponse"},"PasswordResetTokenStatusRequest":{"properties":{"token":{"type":"string","maxLength":2048,"minLength":20,"title":"Token"}},"type":"object","required":["token"],"title":"PasswordResetTokenStatusRequest"},"ProductEventAccepted":{"properties":{"accepted":{"type":"boolean","title":"Accepted","default":true}},"type":"object","title":"ProductEventAccepted"},"ProductEventCreate":{"properties":{"event_name":{"type":"string","enum":["signup_completed","profile_completed","profile_import_attempted","profile_import_zero_article_spike","onboarding_started","onboarding_step_completed","onboarding_personalization_feedback","onboarding_completed","matching_blocked","matching_computed","match_list_viewed","match_card_clicked","match_feedback_submitted","grant_saved","grant_marked_irrelevant","grant_detail_viewed","grant_original_link_clicked","profile_guidance_clicked","dossier_entry_created","dossier_entry_edited","dossier_entry_deleted","quality_gated_grant_requested","calendar_viewed","application_status_updated","feedback_submitted","writing_waitlist_joined","agent_request_detected","api_proxy_alert"],"title":"Event Name"},"anonymous_id":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Anonymous Id"},"path":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Path"},"properties":{"additionalProperties":true,"type":"object","title":"Properties"}},"type":"object","required":["event_name"],"title":"ProductEventCreate"},"ProductEventSummary":{"properties":{"scope":{"type":"string","enum":["user","global"],"title":"Scope"},"days":{"type":"integer","minimum":1.0,"title":"Days"},"from_date":{"type":"string","format":"date-time","title":"From Date"},"to_date":{"type":"string","format":"date-time","title":"To Date"},"total_events":{"type":"integer","minimum":0.0,"title":"Total Events"},"unique_users":{"type":"integer","minimum":0.0,"title":"Unique Users"},"unique_anonymous_ids":{"type":"integer","minimum":0.0,"title":"Unique Anonymous Ids"},"last_event_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Event At"},"by_event":{"items":{"$ref":"#/components/schemas/EventCount"},"type":"array","title":"By Event"},"daily":{"items":{"$ref":"#/components/schemas/DailyCount"},"type":"array","title":"Daily"}},"type":"object","required":["scope","days","from_date","to_date","total_events","unique_users","unique_anonymous_ids","by_event","daily"],"title":"ProductEventSummary"},"ProfileCompleteness":{"properties":{"score":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Score","description":"Overall completeness 0-1"},"identity_complete":{"type":"boolean","title":"Identity Complete"},"research_focus_complete":{"type":"boolean","title":"Research Focus Complete"},"evidence_present":{"type":"boolean","title":"Evidence Present"},"application_context_present":{"type":"boolean","title":"Application Context Present"},"missing_fields":{"items":{"type":"string"},"type":"array","title":"Missing Fields"}},"type":"object","required":["score","identity_complete","research_focus_complete","evidence_present","application_context_present"],"title":"ProfileCompleteness"},"PublicWritingWaitlistJoinRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"name":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Name"},"source":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Source"},"website":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Website"}},"type":"object","required":["email"],"title":"PublicWritingWaitlistJoinRequest"},"PublicWritingWaitlistJoinResponse":{"properties":{"joined":{"type":"boolean","title":"Joined"},"already_joined":{"type":"boolean","title":"Already Joined"}},"type":"object","required":["joined","already_joined"],"title":"PublicWritingWaitlistJoinResponse"},"RefreshTokenRequest":{"properties":{"refresh_token":{"type":"string","maxLength":2048,"minLength":20,"title":"Refresh Token"}},"type":"object","required":["refresh_token"],"title":"RefreshTokenRequest"},"ResearchArea":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"code":{"type":"string","title":"Code","description":"SCB classification code"},"name_sv":{"type":"string","title":"Name Sv"},"name_en":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name En"},"parent_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Code"}},"type":"object","required":["id","code","name_sv"],"title":"ResearchArea"},"ResearcherCreate":{"properties":{"name":{"type":"string","title":"Name"},"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email"},"orcid":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{4}-\\d{4}-\\d{3}[\\dX]$"},{"type":"null"}],"title":"Orcid"},"affiliation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Affiliation"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio"},"career_stage":{"anyOf":[{"$ref":"#/components/schemas/CareerStage"},{"type":"null"}]},"profession":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Profession"},"language_preference":{"anyOf":[{"$ref":"#/components/schemas/LanguagePreference"},{"type":"null"}]},"keywords":{"items":{"type":"string"},"type":"array","title":"Keywords"},"articles":{"items":{"type":"string"},"type":"array","title":"Articles"},"research_area_codes":{"items":{"type":"string"},"type":"array","title":"Research Area Codes"},"methods":{"items":{"type":"string"},"type":"array","title":"Methods"},"research_topics":{"items":{"type":"string"},"type":"array","title":"Research Topics"},"doctoral_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Doctoral Year"}},"type":"object","required":["name"],"title":"ResearcherCreate"},"ResearcherProfile":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"orcid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Orcid"},"affiliation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Affiliation"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio"},"career_stage":{"anyOf":[{"$ref":"#/components/schemas/CareerStage"},{"type":"null"}]},"profession":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Profession"},"language_preference":{"anyOf":[{"$ref":"#/components/schemas/LanguagePreference"},{"type":"null"}]},"keywords":{"items":{"type":"string"},"type":"array","title":"Keywords"},"articles":{"items":{"type":"string"},"type":"array","title":"Articles"},"research_area_codes":{"items":{"type":"string"},"type":"array","title":"Research Area Codes"},"methods":{"items":{"type":"string"},"type":"array","title":"Methods"},"research_topics":{"items":{"type":"string"},"type":"array","title":"Research Topics"},"doctoral_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Doctoral Year"},"profile_completeness":{"anyOf":[{"$ref":"#/components/schemas/ProfileCompleteness"},{"type":"null"}]},"dossier_entries":{"items":{"$ref":"#/components/schemas/DossierEntry"},"type":"array","title":"Dossier Entries"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","name","created_at","updated_at"],"title":"ResearcherProfile"},"ResearcherSummary":{"properties":{"name":{"type":"string","title":"Name"},"total_amount_sek":{"type":"integer","title":"Total Amount Sek"},"project_count":{"type":"integer","title":"Project Count"},"year_first":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year First"},"year_last":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year Last"},"top_funders":{"items":{"type":"string"},"type":"array","title":"Top Funders"},"projects":{"items":{"$ref":"#/components/schemas/ResearcherSummaryProject"},"type":"array","title":"Projects"}},"type":"object","required":["name","total_amount_sek","project_count","top_funders","projects"],"title":"ResearcherSummary"},"ResearcherSummaryProject":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"title":{"type":"string","title":"Title"},"funder_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Funder Slug"},"funder_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Funder Name"},"total_amount_sek":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Amount Sek"},"year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year"}},"type":"object","required":["id","title"],"title":"ResearcherSummaryProject"},"ResearcherUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email"},"orcid":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{4}-\\d{4}-\\d{3}[\\dX]$"},{"type":"null"}],"title":"Orcid"},"affiliation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Affiliation"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio"},"career_stage":{"anyOf":[{"$ref":"#/components/schemas/CareerStage"},{"type":"null"}]},"profession":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Profession"},"language_preference":{"anyOf":[{"$ref":"#/components/schemas/LanguagePreference"},{"type":"null"}]},"keywords":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Keywords"},"articles":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Articles"},"research_area_codes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Research Area Codes"},"methods":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Methods"},"research_topics":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Research Topics"},"doctoral_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Doctoral Year"}},"type":"object","title":"ResearcherUpdate"},"SaveGrantRequest":{"properties":{"grant_call_id":{"type":"string","format":"uuid","title":"Grant Call Id"}},"type":"object","required":["grant_call_id"],"title":"SaveGrantRequest"},"SavedGrant":{"properties":{"grant_call_id":{"type":"string","format":"uuid","title":"Grant Call Id"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["grant_call_id","created_at"],"title":"SavedGrant"},"SavedGrantCalendarItem":{"properties":{"grant_call_id":{"type":"string","format":"uuid","title":"Grant Call Id"},"saved_at":{"type":"string","format":"date-time","title":"Saved At"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"title":{"type":"string","title":"Title"},"funder_name":{"type":"string","title":"Funder Name"},"funder_slug":{"$ref":"#/components/schemas/FunderSlug"},"status":{"$ref":"#/components/schemas/GrantStatus"},"opens_at":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Opens At"},"closes_at":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Closes At"},"closed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Closed At"},"closed_reason":{"anyOf":[{"$ref":"#/components/schemas/GrantClosureReason"},{"type":"null"}]},"min_amount_sek":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Amount Sek"},"max_amount_sek":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Amount Sek"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"description_snippet":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description Snippet"},"eligibility_snippet":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Eligibility Snippet"},"research_area_codes":{"items":{"type":"string"},"type":"array","title":"Research Area Codes"}},"type":"object","required":["grant_call_id","saved_at","title","funder_name","funder_slug","status"],"title":"SavedGrantCalendarItem"},"ScrapeFreshnessStatus":{"properties":{"classification":{"type":"string","enum":["fresh","stale","missing","unknown"],"title":"Classification"},"age_hours":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Age Hours"},"stale_after_hours":{"type":"integer","minimum":1.0,"title":"Stale After Hours"}},"type":"object","required":["classification","stale_after_hours"],"title":"ScrapeFreshnessStatus"},"ScrapeRequest":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"ScrapeRequest"},"ScrapedProfile":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"affiliation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Affiliation"},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio"},"keywords":{"items":{"type":"string"},"type":"array","title":"Keywords","default":[]},"articles":{"items":{"type":"string"},"type":"array","title":"Articles","default":[]},"source_type":{"type":"string","title":"Source Type","default":"unknown"}},"type":"object","title":"ScrapedProfile"},"ScraperSourceHealth":{"properties":{"source_name":{"type":"string","title":"Source Name"},"last_run_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Run At"},"last_run_age_hours":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Last Run Age Hours"},"freshness":{"type":"string","enum":["fresh","stale","missing"],"title":"Freshness"},"last_status":{"type":"string","enum":["ok","error","never"],"title":"Last Status"},"last_calls_fetched":{"type":"integer","minimum":0.0,"title":"Last Calls Fetched"},"last_calls_upserted":{"type":"integer","minimum":0.0,"title":"Last Calls Upserted"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"},"last_success_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Success At"},"last_nonzero_activity_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Nonzero Activity At"},"recent_nonzero_activity":{"type":"boolean","title":"Recent Nonzero Activity","default":false},"zero_alert_suppressed":{"type":"boolean","title":"Zero Alert Suppressed","default":false},"consecutive_failures":{"type":"integer","minimum":0.0,"title":"Consecutive Failures"},"consecutive_zero_call_runs":{"type":"integer","minimum":0.0,"title":"Consecutive Zero Call Runs"},"alert":{"type":"boolean","title":"Alert"},"alert_reasons":{"items":{"type":"string"},"type":"array","title":"Alert Reasons"}},"type":"object","required":["source_name","freshness","last_status","last_calls_fetched","last_calls_upserted","consecutive_failures","consecutive_zero_call_runs","alert"],"title":"ScraperSourceHealth"},"ScraperSourcesHealthSnapshot":{"properties":{"generated_at":{"type":"string","format":"date-time","title":"Generated At"},"lookback_runs":{"type":"integer","minimum":1.0,"title":"Lookback Runs"},"stale_after_hours":{"type":"integer","minimum":1.0,"title":"Stale After Hours"},"zero_streak_alert_runs":{"type":"integer","minimum":1.0,"title":"Zero Streak Alert Runs"},"error_streak_alert_runs":{"type":"integer","minimum":1.0,"title":"Error Streak Alert Runs"},"alerts_total":{"type":"integer","minimum":0.0,"title":"Alerts Total"},"sources":{"items":{"$ref":"#/components/schemas/ScraperSourceHealth"},"type":"array","title":"Sources"}},"type":"object","required":["generated_at","lookback_runs","stale_after_hours","zero_streak_alert_runs","error_streak_alert_runs","alerts_total","sources"],"title":"ScraperSourcesHealthSnapshot"},"SectionAutosaveUpdate":{"properties":{"content":{"type":"string","title":"Content","default":""}},"type":"object","title":"SectionAutosaveUpdate"},"SectionStatus":{"type":"string","enum":["draft","in_progress","complete"],"title":"SectionStatus"},"SectionStatusUpdate":{"properties":{"status":{"$ref":"#/components/schemas/SectionStatus"}},"type":"object","required":["status"],"title":"SectionStatusUpdate"},"SectionType":{"type":"string","enum":["summary","background","purpose","method","significance","budget","timeline","custom"],"title":"SectionType"},"SetGrantApplicationRequest":{"properties":{"status":{"$ref":"#/components/schemas/GrantApplicationStatus"},"note":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Note"}},"type":"object","required":["status"],"title":"SetGrantApplicationRequest"},"SimilarGrant":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"funder_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Funder Name"},"funder_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Funder Slug"},"closes_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Closes At"},"max_amount_sek":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Amount Sek"},"similarity_score":{"type":"number","title":"Similarity Score"}},"type":"object","required":["id","title","similarity_score"],"title":"SimilarGrant"},"TokenResponse":{"properties":{"access_token":{"type":"string","title":"Access Token"},"refresh_token":{"type":"string","title":"Refresh Token"},"token_type":{"type":"string","title":"Token Type","default":"bearer"},"researcher_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Researcher Id"}},"type":"object","required":["access_token","refresh_token"],"title":"TokenResponse"},"UnsubscribeRequest":{"properties":{"token":{"type":"string","maxLength":4096,"minLength":1,"title":"Token"}},"type":"object","required":["token"],"title":"UnsubscribeRequest"},"UpdateSavedGrantNoteRequest":{"properties":{"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"}},"type":"object","title":"UpdateSavedGrantNoteRequest"},"UserLogin":{"properties":{"email":{"type":"string","title":"Email"},"password":{"type":"string","title":"Password"}},"type":"object","required":["email","password"],"title":"UserLogin"},"UserRegister":{"properties":{"email":{"type":"string","maxLength":300,"title":"Email"},"password":{"type":"string","maxLength":128,"minLength":8,"title":"Password"},"name":{"type":"string","maxLength":300,"title":"Name"}},"type":"object","required":["email","password","name"],"title":"UserRegister"},"UserResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"type":"string","title":"Email"},"name":{"type":"string","title":"Name"},"is_active":{"type":"boolean","title":"Is Active"},"is_admin":{"type":"boolean","title":"Is Admin","default":false},"role":{"type":"string","enum":["owner","admin","analyst","user"],"title":"Role","default":"user"},"language_preference":{"$ref":"#/components/schemas/LanguagePreference","default":"en"},"researcher_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Researcher Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","email","name","is_active","created_at"],"title":"UserResponse"},"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"},"WritingComplianceCheckResponse":{"properties":{"generated_at":{"type":"string","format":"date-time","title":"Generated At"},"status":{"type":"string","title":"Status"},"total_issues":{"type":"integer","title":"Total Issues","default":0},"error_count":{"type":"integer","title":"Error Count","default":0},"warning_count":{"type":"integer","title":"Warning Count","default":0},"info_count":{"type":"integer","title":"Info Count","default":0},"issues":{"items":{"$ref":"#/components/schemas/WritingComplianceIssueResponse"},"type":"array","title":"Issues"}},"type":"object","required":["generated_at","status"],"title":"WritingComplianceCheckResponse"},"WritingComplianceIssueResponse":{"properties":{"code":{"type":"string","title":"Code"},"severity":{"$ref":"#/components/schemas/WritingComplianceIssueSeverity"},"section_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Section Id"},"section_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Section Title"},"message":{"type":"string","title":"Message"},"suggestion":{"type":"string","title":"Suggestion"}},"type":"object","required":["code","severity","message","suggestion"],"title":"WritingComplianceIssueResponse"},"WritingComplianceIssueSeverity":{"type":"string","enum":["error","warning","info"],"title":"WritingComplianceIssueSeverity"},"WritingExportFormat":{"type":"string","enum":["docx","pdf"],"title":"WritingExportFormat"},"WritingSessionCreate":{"properties":{"grant_call_id":{"type":"string","format":"uuid","title":"Grant Call Id"},"researcher_id":{"type":"string","format":"uuid","title":"Researcher Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"language_mode":{"anyOf":[{"$ref":"#/components/schemas/LanguageMode"},{"type":"null"}]}},"type":"object","required":["grant_call_id","researcher_id"],"title":"WritingSessionCreate"},"WritingSessionResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"grant_call_id":{"type":"string","format":"uuid","title":"Grant Call Id"},"researcher_id":{"type":"string","format":"uuid","title":"Researcher Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"sections":{"items":{"$ref":"#/components/schemas/DraftSection"},"type":"array","title":"Sections"},"completed_sections":{"type":"integer","title":"Completed Sections","default":0},"total_sections":{"type":"integer","title":"Total Sections","default":0},"progress_ratio":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Progress Ratio","default":0.0},"grant_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Grant Title"},"funder_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Funder Name"},"funder_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Funder Slug"}},"type":"object","required":["id","grant_call_id","researcher_id","created_at","updated_at"],"title":"WritingSessionResponse"},"WritingWaitlistJoinRequest":{"properties":{"source":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Source"}},"type":"object","title":"WritingWaitlistJoinRequest"},"WritingWaitlistJoinResponse":{"properties":{"joined":{"type":"boolean","title":"Joined"},"joined_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Joined At"},"already_joined":{"type":"boolean","title":"Already Joined","default":false}},"type":"object","required":["joined"],"title":"WritingWaitlistJoinResponse"},"WritingWaitlistStatusResponse":{"properties":{"joined":{"type":"boolean","title":"Joined"},"joined_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Joined At"}},"type":"object","required":["joined"],"title":"WritingWaitlistStatusResponse"},"WritingWorkspaceStatusResponse":{"properties":{"workspace_available":{"type":"boolean","title":"Workspace Available"},"waitlist_only":{"type":"boolean","title":"Waitlist Only"},"reason":{"type":"string","title":"Reason"},"release_flag_required":{"type":"boolean","title":"Release Flag Required"},"release_flag_enabled":{"type":"boolean","title":"Release Flag Enabled"}},"type":"object","required":["workspace_available","waitlist_only","reason","release_flag_required","release_flag_enabled"],"title":"WritingWorkspaceStatusResponse"}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}}}}