{"openapi":"3.1.0","info":{"title":"Latent Sokoban Challenge","version":"0.1.0"},"paths":{"/api/spec":{"get":{"summary":"Spec","operationId":"spec_api_spec_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Spec Api Spec Get"}}}}}}},"/api/keys":{"post":{"summary":"Create Key","operationId":"create_key_api_keys_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewKey"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Create Key Api Keys Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/scorecards":{"post":{"summary":"Open Scorecard","operationId":"open_scorecard_api_scorecards_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Open Scorecard Api Scorecards Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/scorecards/{sid}/games/{game}/start":{"post":{"summary":"Start Game","operationId":"start_game_api_scorecards__sid__games__game__start_post","parameters":[{"name":"sid","in":"path","required":true,"schema":{"type":"string","title":"Sid"}},{"name":"game","in":"path","required":true,"schema":{"type":"string","title":"Game"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Start Game Api Scorecards  Sid  Games  Game  Start Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/sessions/{gid}/act":{"post":{"summary":"Act","operationId":"act_api_sessions__gid__act_post","parameters":[{"name":"gid","in":"path","required":true,"schema":{"type":"string","title":"Gid"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Act"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Act Api Sessions  Gid  Act Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/scorecards/{sid}":{"get":{"summary":"Scorecard State","operationId":"scorecard_state_api_scorecards__sid__get","parameters":[{"name":"sid","in":"path","required":true,"schema":{"type":"string","title":"Sid"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Scorecard State Api Scorecards  Sid  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/scorecards/{sid}/close":{"post":{"summary":"Close Scorecard","operationId":"close_scorecard_api_scorecards__sid__close_post","parameters":[{"name":"sid","in":"path","required":true,"schema":{"type":"string","title":"Sid"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Close Scorecard Api Scorecards  Sid  Close Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/replays/{gid}":{"get":{"summary":"Replay","description":"Per-episode outcomes for a finished session (never level layouts).\n\nThe action strings are withheld from everyone but the run's owner. The\nhidden set is fixed and deterministic, so a published action string is a\nreplayable perfect score: anyone holding it can post the same numbers\nwithout an agent. Outcomes stay public so results remain inspectable.","operationId":"replay_api_replays__gid__get","parameters":[{"name":"gid","in":"path","required":true,"schema":{"type":"string","title":"Gid"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Replay Api Replays  Gid  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/leaderboard":{"get":{"summary":"Leaderboard","operationId":"leaderboard_api_leaderboard_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/":{"get":{"summary":"Index","operationId":"index__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/leaderboard":{"get":{"summary":"Leaderboard Page","operationId":"leaderboard_page_leaderboard_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/play":{"get":{"summary":"Play Page","operationId":"play_page_play_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}}},"components":{"schemas":{"Act":{"properties":{"action":{"type":"integer","maximum":3.0,"minimum":0.0,"title":"Action","description":"0 up, 1 down, 2 left, 3 right"}},"type":"object","required":["action"],"title":"Act"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"NewKey":{"properties":{"name":{"type":"string","title":"Name","description":"leaderboard name, 2-40 chars, unique"}},"type":"object","required":["name"],"title":"NewKey"},"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"}}}}