{"adminHeader":"x-admin-token","dataDirectory":"/root/community-realm/website-api/community_realm_api/data","message":"Minecraft Community Realm shared-data API is running.","resources":{"claims":{"claim":{"auth":"x-admin-token","method":"POST","path":"/claims/claim"},"entitySummary":{"method":"GET","path":"/claims/entity/<entity_type>/<entity_id>"},"list":{"method":"GET","path":"/claims"},"ownership":{"method":"GET","path":"/claims/ownership"},"unclaim":{"auth":"x-admin-token","method":"POST","path":"/claims/unclaim"},"validate":{"method":"POST","path":"/claims/validate"}},"countries":{"create":{"auth":"x-admin-token","method":"POST","path":"/countries"},"detail":{"method":"GET","path":"/countries/<country_id>"},"list":{"method":"GET","path":"/countries"},"update":{"auth":"x-admin-token","methods":["PATCH","PUT"],"path":"/countries/<country_id>"}},"events":{"create":{"auth":"x-admin-token","method":"POST","path":"/events"},"list":{"method":"GET","path":"/events"},"update":{"auth":"x-admin-token","methods":["PATCH","PUT"],"path":"/events/<id>"}},"news":{"create":{"auth":"x-admin-token","method":"POST","path":"/news"},"delete":{"auth":"x-admin-token","method":"DELETE","path":"/news/<id>"},"detail":{"method":"GET","path":"/news/<id>"},"imageUpload":{"auth":"x-admin-token","contentType":"multipart/form-data","field":"image","method":"POST","path":"/upload/news-image","publicBaseUrl":"https://api.communityrealm.net/media/news"},"list":{"method":"GET","path":"/news"},"update":{"auth":"x-admin-token","methods":["PATCH","PUT"],"path":"/news/<id>"}},"polls":{"adminArchive":{"auth":"x-admin-token","method":"POST","path":"/api/admin/polls/<poll_id>/archive"},"adminClose":{"auth":"x-admin-token","method":"POST","path":"/api/admin/polls/<poll_id>/close"},"adminCreate":{"auth":"x-admin-token","method":"POST","path":"/api/admin/polls"},"adminUpdate":{"auth":"x-admin-token","method":"PATCH","path":"/api/admin/polls/<poll_id>"},"detail":{"method":"GET","path":"/polls/<poll_id>"},"gameClose":{"auth":"x-admin-token","method":"POST","path":"/game/polls/<poll_id>/close"},"gameCreate":{"auth":"x-admin-token","method":"POST","path":"/game/polls/create"},"gameList":{"auth":"x-admin-token","method":"GET","path":"/game/polls","query":["playerId","scopeType","scopeId"]},"gameVote":{"auth":"x-admin-token","method":"POST","path":"/game/polls/<poll_id>/vote"},"list":{"method":"GET","path":"/polls"}},"serverManagement":{"access":{"auth":"x-admin-token","method":"GET","path":"/api/admin/server/access"},"allowlistAdd":{"auth":"x-admin-token","body":{"required":["gamertag"]},"method":"POST","path":"/api/admin/server/allowlist/add"},"allowlistRemove":{"auth":"x-admin-token","body":{"required":["gamertag"]},"method":"POST","path":"/api/admin/server/allowlist/remove"},"blacklistAdd":{"auth":"x-admin-token","body":{"optional":["reason"],"required":["gamertag"]},"method":"POST","path":"/api/admin/server/blacklist/add"},"blacklistRemove":{"auth":"x-admin-token","body":{"required":["gamertag"]},"method":"POST","path":"/api/admin/server/blacklist/remove"},"close":{"auth":"x-admin-token","method":"POST","path":"/api/admin/server/close"},"maintenanceDisable":{"auth":"x-admin-token","method":"POST","path":"/api/admin/server/maintenance/disable"},"maintenanceEnable":{"auth":"x-admin-token","method":"POST","path":"/api/admin/server/maintenance/enable"},"maintenanceStatus":{"auth":"x-admin-token","method":"GET","path":"/api/admin/maintenance/status"},"maintenanceSyncAllowlist":{"auth":"x-admin-token","method":"POST","path":"/api/admin/maintenance/sync-allowlist"},"open":{"auth":"x-admin-token","method":"POST","path":"/api/admin/server/open"},"restart":{"auth":"x-admin-token","method":"POST","path":"/api/admin/server/restart"},"start":{"auth":"x-admin-token","method":"POST","path":"/api/admin/server/start"},"status":{"auth":"x-admin-token","method":"GET","path":"/api/admin/server/status"},"stop":{"auth":"x-admin-token","method":"POST","path":"/api/admin/server/stop"},"update":{"auth":"x-admin-token","method":"POST","path":"/api/admin/server/update"},"updateLog":{"auth":"x-admin-token","method":"GET","path":"/api/admin/server/update-log"}},"settlements":{"create":{"auth":"x-admin-token","method":"POST","path":"/settlements"},"detail":{"method":"GET","path":"/settlements/<settlement_id>"},"list":{"method":"GET","path":"/settlements"},"update":{"auth":"x-admin-token","methods":["PATCH","PUT"],"path":"/settlements/<settlement_id>"}},"townsCities":{"create":{"auth":"x-admin-token","method":"POST","path":"/towns-cities"},"detail":{"method":"GET","path":"/towns-cities/<town_city_id>"},"list":{"method":"GET","path":"/towns-cities"},"update":{"auth":"x-admin-token","methods":["PATCH","PUT"],"path":"/towns-cities/<town_city_id>"}},"videos":{"adminList":{"auth":"x-admin-token","method":"GET","path":"/api/admin/videos"},"archive":{"auth":"x-admin-token","method":"POST","path":"/api/admin/videos/<video_id>/archive"},"create":{"auth":"x-admin-token","body":{"optional":["featured","description","keywords","title","creator","thumbnailUrl","id","status"],"required":["youtubeUrl","season","creatorType","category"]},"method":"POST","path":"/api/admin/videos"},"list":{"method":"GET","path":"/videos"},"listApi":{"method":"GET","path":"/api/videos"},"refreshMetadata":{"auth":"x-admin-token","method":"POST","path":"/api/admin/videos/<video_id>/refresh-metadata"},"reorder":{"auth":"x-admin-token","body":{"orderedIdsMeaning":"orderedIds[0] becomes sortOrder 0 and the first video shown on the website.","required":["orderedIds"]},"method":"POST","path":"/api/admin/videos/reorder"},"update":{"auth":"x-admin-token","method":"PATCH","path":"/api/admin/videos/<video_id>"}},"warRelations":{"active":{"method":"GET","path":"/war/active"},"countryDefeat":{"method":"GET","path":"/war/country-defeat/<country_id>"},"detail":{"method":"GET","path":"/war/relations/<country_a_id>/<country_b_id>"},"killEvent":{"auth":"x-admin-token","method":"POST","path":"/war/kill-event"},"list":{"method":"GET","path":"/war/relations"},"occupationAttempt":{"auth":"x-admin-token","method":"POST","path":"/war/occupation-attempt"},"occupationDetail":{"method":"GET","path":"/war/occupations/<town_city_id>"},"occupations":{"method":"GET","path":"/war/occupations"},"treaties":{"method":"GET","path":"/war/treaties"},"treatyDetail":{"method":"GET","path":"/war/treaties/<treaty_id>"},"treatyPropose":{"auth":"x-admin-token","method":"POST","path":"/war/treaty/propose"},"treatyRespond":{"auth":"x-admin-token","method":"POST","path":"/war/treaty/respond"}}},"routes":["GET /players","GET /players/<player_id>","GET /settlements","GET /settlements/<settlement_id>","GET /countries","GET /countries/<country_id>","GET /towns-cities","GET /towns-cities/<town_city_id>","GET /claims","GET /api/claims","GET /claims/ownership","GET /claims/entity/<entity_type>/<entity_id>","GET /map/overlays","GET /api/map/overlays","GET /map/config","GET /api/map/config","GET /map/debug","GET /api/map/debug","GET /war/relations","GET /war/relations/<country_a_id>/<country_b_id>","GET /war/active","GET /war/occupations","GET /war/occupations/<town_city_id>","GET /war/country-defeat/<country_id>","GET /war/treaties","GET /war/treaties/<treaty_id>","GET /events","GET /polls","GET /polls/<poll_id>","GET /videos","GET /api/videos","GET /news","GET /news/<id>","GET /world","GET /admin/verify","GET /api/admin/server/status (admin token required)","GET /api/admin/server/access (admin token required)","GET /api/admin/server/access/players (admin token required)","GET /api/admin/server/update-log (admin token required)","GET /media/<path> (public media files served by Flask)","POST /admin/verify","POST /api/admin/server/allowlist/add (admin token required)","POST /api/admin/server/allowlist/remove (admin token required)","POST /api/admin/server/blacklist/add (admin token required)","POST /api/admin/server/blacklist/remove (admin token required)","POST /api/admin/server/access/player/<player_id>/allow (admin token required)","POST /api/admin/server/access/player/<player_id>/unallow (admin token required)","POST /api/admin/server/access/player/<player_id>/blacklist (admin token required)","POST /api/admin/server/access/player/<player_id>/unblacklist (admin token required)","POST /api/admin/server/access/player/<player_id>/set-mod (admin token required)","POST /api/admin/server/access/player/<player_id>/unset-mod (admin token required)","GET /api/admin/maintenance/status (admin token required)","POST /api/admin/maintenance/enable (admin token required)","POST /api/admin/maintenance/disable (admin token required)","POST /api/admin/maintenance/sync-allowlist (admin token required)","POST /api/admin/server/maintenance/enable (admin token required)","POST /api/admin/server/maintenance/disable (admin token required)","POST /api/admin/server/start (admin token required)","POST /api/admin/server/stop (admin token required)","POST /api/admin/server/restart (admin token required)","POST /api/admin/server/close (admin token required)","POST /api/admin/server/open (admin token required)","POST /api/admin/server/update (admin token required)","POST /players (admin token required)","PUT /players/<player_id> (admin token required)","PATCH /players/<player_id> (admin token required)","POST /api/admin/players/<player_id>/archive (admin token required)","DELETE /players/<player_id> (admin token required, reference checks enabled)","POST /settlements (admin token required)","PUT /settlements/<settlement_id> (admin token required)","PATCH /settlements/<settlement_id> (admin token required)","POST /settlements/<settlement_id>/members (admin token required)","DELETE /settlements/<settlement_id>/members/<player_id> (admin token required)","PATCH /settlements/<settlement_id>/treasury (admin token required)","PATCH /settlements/<settlement_id>/claimed-chunks (admin token required)","POST /countries (admin token required)","PUT /countries/<country_id> (admin token required)","PATCH /countries/<country_id> (admin token required)","POST /countries/<country_id>/members (admin token required)","DELETE /countries/<country_id>/members/<player_id> (admin token required)","PATCH /countries/<country_id>/treasury (admin token required)","PATCH /countries/<country_id>/claimed-chunks (admin token required)","POST /towns-cities (admin token required)","PUT /towns-cities/<town_city_id> (admin token required)","PATCH /towns-cities/<town_city_id> (admin token required)","PATCH /towns-cities/<town_city_id>/claimed-chunks (admin token required)","POST /claims/validate","POST /claims/claim (admin token required)","POST /claims/unclaim (admin token required)","POST /war/kill-event (admin token required)","POST /war/occupation-attempt (admin token required)","POST /war/treaty/propose (admin token required)","POST /war/treaty/respond (admin token required)","POST /events (admin token required)","POST /api/admin/polls (admin token required)","PATCH /api/admin/polls/<poll_id> (admin token required)","POST /api/admin/polls/<poll_id>/close (admin token required)","POST /api/admin/polls/<poll_id>/archive (admin token required)","POST /game/polls/create (game bridge auth required)","POST /game/polls/<poll_id>/vote (game bridge auth required)","POST /game/polls/<poll_id>/close (game bridge auth required)","GET /game/polls (game bridge auth required)","PUT /events/<id> (admin token required)","PATCH /events/<id> (admin token required)","PUT /events/<event_id> (admin token required)","PATCH /events/<event_id> (admin token required)","GET /api/admin/videos (admin token required)","POST /api/admin/videos (admin token required)","POST /api/admin/videos/reorder (admin token required)","PATCH /api/admin/videos/<video_id> (admin token required)","POST /api/admin/videos/<video_id>/refresh-metadata (admin token required)","POST /api/admin/videos/<video_id>/archive (admin token required)","POST /news (admin token required)","PUT /news/<id> (admin token required)","PATCH /news/<id> (admin token required)","DELETE /news/<id> (admin token required)","PUT /news/<news_id> (admin token required)","PATCH /news/<news_id> (admin token required)","DELETE /news/<news_id> (admin token required)","POST /upload/news-image (admin token required, multipart/form-data)","POST /api/admin/map/config (admin token required)","POST /world (admin token required)","DELETE /countries/<country_id> (admin token required, currently disabled)"]}
