{"openapi":"3.0.0","info":{"version":"1.0.0","title":"Devfest Bot Programming API","description":"This is the API for the Devfest Bot Programming","x-logo":{"url":"https://avatars.githubusercontent.com/u/148512545?s=200&v=4"}},"servers":[{"url":"https://bot-api.devfestantananarivo.com/","description":"Production server"},{"url":"http://localhost:9000/","description":"Local server"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"\n    In order to interact with the Devfest Bot Programming API, you or your application must\n          authenticate."}},"schemas":{"Stage":{"type":"object","properties":{"stage_contest_id":{"type":"string"},"maze_string":{"type":"string"},"started":{"type":"boolean"},"last_pos_x":{"type":"number"},"last_pos_y":{"type":"number"},"maze_rows_length":{"type":"number"}},"required":["stage_contest_id","maze_string","started","last_pos_x","last_pos_y","maze_rows_length"]},"StageContest":{"type":"object","properties":{"stage_contest_id":{"type":"string"}},"required":["stage_contest_id"]},"BotStatus":{"type":"object","properties":{"status":{"type":"string"},"coord":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"}},"required":["x","y"]},"stageObjects":{"type":"array","items":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"},"type":{"type":"string"},"score":{"type":"number"}},"required":["x","y","type","score"]}}},"required":["status","coord","stageObjects"]}},"parameters":{}},"paths":{"/api/stage":{"get":{"description":"Returns the current user stage data.","summary":"Get user stage","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Object with user stage.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Stage"}}}},"204":{"description":"No content - successful operation"}}}},"/api/start_stage/{stage_contest_id}":{"get":{"description":"Initializes the user position in the user_contest_table.","summary":"Get stage contest","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Object with stage contest.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StageContest"}}}},"204":{"description":"No content - successful operation"}}}},"/api/execute_steps":{"post":{"description":"Execute the steps in the maze.","summary":"Execute steps","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Object with last bot position.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotStatus"}}}},"204":{"description":"No content - successful operation"}}}}}}