{"openapi":"3.1.0","info":{"title":"Chess Scout","version":"0.1.0"},"paths":{"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/players/search":{"get":{"summary":"Search","operationId":"search_api_v1_players_search_get","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":256,"title":"Q"}},{"name":"id_type","in":"query","required":false,"schema":{"enum":["auto","fide","cfc","uscf"],"type":"string","default":"auto","title":"Id Type"}},{"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":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/players/{id}":{"get":{"summary":"Player","operationId":"player_api_v1_players__id__get","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/players/{id}/games":{"get":{"summary":"Games","operationId":"games_api_v1_players__id__games_get","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}},{"name":"color","in":"query","required":false,"schema":{"enum":["all","white","black"],"type":"string","default":"all","title":"Color"}},{"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":"family","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":256},{"type":"null"}],"title":"Family"}},{"name":"variation","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":256},{"type":"null"}],"title":"Variation"}},{"name":"unvaried","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Unvaried"}},{"name":"from_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"From Date"}},{"name":"to_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"To Date"}},{"name":"category","in":"query","required":false,"schema":{"enum":["all","otb","online","unknown"],"type":"string","default":"all","title":"Category"}},{"name":"analyzed_only","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Analyzed Only"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/games/{id}":{"get":{"summary":"Game","operationId":"game_api_v1_games__id__get","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/players/{id}/analytics":{"get":{"summary":"Analytics","operationId":"analytics_api_v1_players__id__analytics_get","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}},{"name":"from_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"From Date"}},{"name":"to_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"To Date"}},{"name":"category","in":"query","required":false,"schema":{"enum":["all","otb","online","unknown"],"type":"string","default":"all","title":"Category"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/players/{id}/refresh":{"post":{"summary":"Refresh","operationId":"refresh_api_v1_players__id__refresh_post","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/players/{id}/sync-status":{"get":{"summary":"Sync Status","operationId":"sync_status_api_v1_players__id__sync_status_get","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/import/pgn":{"post":{"summary":"Ingest","operationId":"ingest_api_v1_import_pgn_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ImportBody":{"properties":{"pgn":{"type":"string","maxLength":2000000,"minLength":1,"title":"Pgn"},"source_url":{"type":"string","maxLength":2048,"minLength":1,"title":"Source Url"},"license":{"type":"string","maxLength":1024,"minLength":1,"title":"License"},"storage_permission":{"type":"string","const":"permanent","title":"Storage Permission"}},"type":"object","required":["pgn","source_url","license","storage_permission"],"title":"ImportBody"},"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"}}}}