{"x-generator":"NSwag v14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))","openapi":"3.0.0","info":{"title":"7DPanel API","description":"[7DPanel website](https://7dpanel.com/) — Downloads, user guide, plans, and support.","version":"1.0.0"},"servers":[{"url":"{protocol}://{host}:{port}","description":"Customize your 7DPanel server address","variables":{"protocol":{"default":"http","enum":["http","https"]},"host":{"default":"127.0.0.1"},"port":{"default":"8088"}}}],"paths":{"/api/licensing/status":{"get":{"tags":["Licensing"],"summary":"Returns effective rights and expiry without exposing license keys; world readiness is not required.","operationId":"Licensing_Status","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LicensingStatus"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/licensing/activate":{"post":{"tags":["Licensing"],"summary":"Activates this installation. Optional email recovers a lost activation; missing subscription purchase association returns 409 for retry or support. Binding conflicts return 409, invalid requests 400, rate limits 429 and service failures 503.","operationId":"Licensing_Activate","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/ActivateLicenseRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LicensingStatus"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"429":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/licensing/refresh":{"post":{"tags":["Licensing"],"summary":"Refreshes an activated binding; a missing key or instance returns 409 without contacting the Worker. Network failure never extends the offline deadline.","operationId":"Licensing_Refresh","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LicensingStatus"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"429":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/licensing/deactivate":{"post":{"tags":["Licensing"],"summary":"Releases the remote installation before clearing local rights; a network failure preserves the binding for retry.","operationId":"Licensing_Deactivate","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LicensingStatus"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"429":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/licensing/previous-installations/find":{"post":{"tags":["Licensing"],"summary":"Lists provider-confirmed old bindings by full license key and purchase email. Requires an unbound local installation, but no ready game world; invalid input returns 400, conflicts 409 and service failures 503. Credentials are not persisted.","operationId":"Licensing_FindPreviousInstallations","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/PreviousInstallationRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PreviousLicenseInstallation"}}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"429":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/licensing/previous-installations/deactivate":{"post":{"tags":["Licensing"],"summary":"Explicitly deactivates a selected previous binding and completes KV/DO cleanup. Does not activate or modify this installation. Requires key/email, target instance and confirmation; cleanup failures remain retryable for the same target.","operationId":"Licensing_DeactivatePreviousInstallation","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/DeactivatePreviousInstallationRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LicensingStatus"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"429":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/administrators":{"get":{"tags":["GameServer"],"summary":"Lists configured user permissions, including offline users; group permissions are excluded.","operationId":"GameServer_ListAdministrators","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListAdministratorsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/administrators/{userId}":{"post":{"tags":["GameServer"],"summary":"Creates a configured user entry; existing entries are rejected.","operationId":"GameServer_CreateAdministrator","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/AdministratorWriteRequest"}]}}},"x-position":2},"responses":{"204":{"description":""},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"put":{"tags":["GameServer"],"summary":"Replaces the configured name and permission level of an existing user.","operationId":"GameServer_UpdateAdministrator","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/AdministratorWriteRequest"}]}}},"x-position":2},"responses":{"204":{"description":""},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"delete":{"tags":["GameServer"],"summary":"Removes one configured user permission entry.","operationId":"GameServer_DeleteAdministrator","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"204":{"description":""},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/administrators/batch":{"post":{"tags":["GameServer"],"summary":"Creates 1–100 entries in input order, returning individual outcomes. The batch is not transactional.","operationId":"GameServer_CreateAdministrators","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/BatchCreateAdministratorsRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GameAdministratorBatchResult"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/administrators/batch-delete":{"post":{"tags":["GameServer"],"summary":"Removes 1–100 entries in input order and requests a single save if any were removed.","operationId":"GameServer_DeleteAdministrators","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/BatchDeleteAdministratorsRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GameAdministratorBatchResult"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/bans":{"get":{"tags":["GameServer"],"summary":"Lists active native player bans.","operationId":"GameServer_ListBans","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListBansResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/bans/{playerId}":{"put":{"tags":["GameServer"],"summary":"Creates or replaces a native ban and disconnects a matching online player.","operationId":"GameServer_SetBan","parameters":[{"name":"playerId","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/SetBanRequest"}]}}},"x-position":2},"responses":{"204":{"description":""},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"504":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"delete":{"tags":["GameServer"],"summary":"Removes the native ban entry for a player.","operationId":"GameServer_RemoveBan","parameters":[{"name":"playerId","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"204":{"description":""},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"504":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/bans/batch":{"post":{"tags":["GameServer"],"operationId":"GameServer_SetBans","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/BatchSetBansRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GameBanBatchResult"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/bans/batch-delete":{"post":{"tags":["GameServer"],"operationId":"GameServer_RemoveBans","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/BatchRemoveBansRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GameBanBatchResult"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/console/commands/{command}/permission":{"put":{"tags":["GameServer"],"summary":"Sets the native permission level for a registered console command.","description":"The command may be identified by its primary name or an alias. The native game permission file is updated.","operationId":"GameServer_SetCommandPermission","parameters":[{"name":"command","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/SetCommandPermissionRequest"}]}}},"x-position":2},"responses":{"204":{"description":""},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"delete":{"tags":["GameServer"],"summary":"Removes the current native permission entry for a registered console command.","description":"This follows the game's native remove semantics; an unspecified command falls back to the game's default command-permission behavior.","operationId":"GameServer_RemoveCommandPermission","parameters":[{"name":"command","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"204":{"description":""},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/console/commands":{"get":{"tags":["GameServer"],"summary":"Lists registered game and Mod console commands with usable aliases and usage help.","description":"Reads metadata on the calling thread; commands whose metadata throws are omitted. Availability and game state checks still apply during execution.","operationId":"GameServer_ListConsoleCommands","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListConsoleCommandsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"504":{"description":"The command query was cancelled.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/console/queue":{"post":{"tags":["GameServer"],"summary":"Queues a command for asynchronous execution by the 7 Days to Die console.","operationId":"GameServer_QueueConsole","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/ExecuteConsoleCommandRequest"}]}}},"x-position":1},"responses":{"202":{"description":"Console command queued."},"400":{"description":"Command validation failed.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/console":{"post":{"tags":["GameServer"],"summary":"Executes a command through the 7 Days to Die console.","operationId":"GameServer_ExecuteConsole","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/ExecuteConsoleCommandRequest"}]}}},"x-position":1},"responses":{"200":{"description":"Console command executed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecuteConsoleCommandResponse"}}}},"400":{"description":"Command validation failed.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"422":{"description":"The game console rejected the command.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"The game console command failed.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"504":{"description":"The game main thread did not complete the command in time.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/localization/languages":{"get":{"tags":["GameServer"],"summary":"Lists language columns loaded from the base game and Mods.","operationId":"GameServer_ListLocalizationLanguages","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListLocalizationLanguagesResponse"}}}},"304":{"description":""},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/localization/entries":{"get":{"tags":["GameServer"],"summary":"Returns all non-empty entries from one selected language column.","description":"Language selection uses the query parameter, Accept-Language, the active game language, then English.","operationId":"GameServer_GetLocalizationEntries","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetLocalizationEntriesResponse"}}}},"304":{"description":""},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/localization/entries/{key}":{"get":{"tags":["GameServer"],"summary":"Resolves one exact localization key.","description":"Language selection uses the query parameter, Accept-Language, the active game language, then English.","operationId":"GameServer_GetLocalizationEntry","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"},"x-position":1},{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":2}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetLocalizationEntryResponse"}}}},"304":{"description":""},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/messaging/private":{"post":{"tags":["GameServer"],"summary":"Sends a private message to one connected player.","description":"RecipientIdOrName is resolved by the game on its main thread: entity ID, platform user ID,\nthen exact name ignoring case. Unmatched IDs fall back to names; duplicate names select the first connection.","operationId":"GameServer_SendPrivateMessage","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/SendPrivateMessageRequest"}]}}},"x-position":1},"responses":{"204":{"description":"Private message sent."},"400":{"description":"Message validation failed.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"The recipient is not connected.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"The private message failed.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"504":{"description":"The game main thread did not send the message in time.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/messaging/global":{"post":{"tags":["GameServer"],"summary":"Sends a global message to all connected players.","operationId":"GameServer_SendGlobalMessage","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/SendGlobalMessageRequest"}]}}},"x-position":1},"responses":{"204":{"description":"Global message sent."},"400":{"description":"Message validation failed.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"The global message failed.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"504":{"description":"The game main thread did not send the message in time.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/players/online":{"get":{"tags":["GameServer"],"summary":"Lists online summaries maintained by game events without querying SQLite or native objects.","description":"Online ObservedAt may be newer than persisted details, and a newly joined player may not yet exist in SQLite.","operationId":"GameServer_ListOnlinePlayers","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPlayersResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/players/{playerId}/online":{"get":{"tags":["GameServer"],"summary":"Gets one online player summary from the event-maintained in-memory cache.","description":"The player ID is matched exactly after trimming. This route does not fall back to persisted snapshots.","operationId":"GameServer_GetOnlinePlayer","parameters":[{"name":"playerId","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GamePlayerSummary"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"The player is not currently online.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/players/snapshots":{"get":{"tags":["GameServer"],"summary":"Searches the latest persisted players in the current WorldName/GameName save, including offline players.","description":"Search is a literal name or ID substring. Sorting uses PlayerId ascending for ties; SQLite places nulls first ascending and last descending.","operationId":"GameServer_ListPlayerSnapshots","parameters":[{"name":"pageNumber","in":"query","description":"One-based page number; defaults to 1.","schema":{"type":"integer","format":"int32","maximum":2147483647,"minimum":1}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","maximum":200,"minimum":1}},{"name":"sortBy","in":"query","schema":{"$ref":"#/components/schemas/PlayerSnapshotSortField"}},{"name":"direction","in":"query","schema":{"$ref":"#/components/schemas/PlayerSnapshotSortDirection"}},{"name":"search","in":"query","description":"Literal substring matched against player name or cross-platform player ID.","schema":{"type":"string","maxLength":200,"minLength":0,"nullable":true}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPlayerSnapshotsResponse"}}}},"400":{"description":"Invalid player query parameters.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/players/{playerId}/snapshot":{"get":{"tags":["GameServer"],"summary":"Gets the last successfully persisted player snapshot in the current WorldName/GameName save.","description":"Snapshot retains its own ObservedAt and captured online state; the outer IsOnline is persisted presence and may lag or remain stale after a dropped update.","operationId":"GameServer_GetPlayerSnapshot","parameters":[{"name":"playerId","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPlayerSnapshotResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"No persisted snapshot exists in the current WorldName/GameName save.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/players/{playerId}/inventory":{"get":{"tags":["GameServer"],"summary":"Reads backpack, belt and equipment from the requested inventory view.","description":"Auto prefers the online entity, then the latest SQLite snapshot, then the native save file.\nLive reads only the online entity. Saved reads the SQLite snapshot and falls back to the native save file.\nOnly occupied slots are returned, with zero-based game indices.","operationId":"GameServer_GetPlayerInventory","parameters":[{"name":"playerId","in":"path","required":true,"schema":{"type":"string"},"x-position":1},{"name":"mode","in":"query","description":"Defaults to Auto when omitted.","schema":{"$ref":"#/components/schemas/PlayerInventoryMode"}},{"name":"language","in":"query","description":"Optional preferred language tag; takes precedence over Accept-Language.","schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPlayerInventoryResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"422":{"description":"The player's native save exists but contains invalid inventory data.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"504":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/players/{playerId}/skills":{"get":{"tags":["GameServer"],"summary":"Reads a player's progression tree from the requested source.","description":"Auto prefers the online entity, then the latest SQLite snapshot, then the native save file.\nLive reads only the online entity. Saved reads the SQLite snapshot and falls back to the native save file.\nSkills are returned as a flat ordered list; ParentKey describes hierarchy.","operationId":"GameServer_GetPlayerSkills","parameters":[{"name":"playerId","in":"path","required":true,"schema":{"type":"string"},"x-position":1},{"name":"mode","in":"query","description":"Defaults to Auto when omitted.","schema":{"$ref":"#/components/schemas/PlayerSkillsMode"}},{"name":"language","in":"query","description":"Optional BCP 47 language tag; takes precedence over Accept-Language.","schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPlayerSkillsResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"504":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/restart":{"post":{"tags":["GameServer"],"summary":"Starts a detached one-shot helper, then queues a graceful shutdown.","operationId":"GameServer_Restart","responses":{"202":{"description":"One-shot restart accepted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerControlResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"Another server-control request is already in progress.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"The restart request could not be submitted.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/shutdown":{"post":{"tags":["GameServer"],"summary":"Queues a graceful shutdown through the game console.","operationId":"GameServer_Shutdown","responses":{"202":{"description":"Graceful shutdown accepted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerControlResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"Another server-control request is already in progress.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"The shutdown request could not be submitted.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/whitelist":{"get":{"tags":["GameServer"],"summary":"Lists native player whitelist entries and the native enabled state.","operationId":"GameServer_ListWhitelist","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListWhitelistResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/whitelist/{playerId}":{"put":{"tags":["GameServer"],"summary":"Creates or replaces a native player whitelist entry.","operationId":"GameServer_SetWhitelist","parameters":[{"name":"playerId","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/SetWhitelistRequest"}]}}},"x-position":2},"responses":{"204":{"description":""},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"delete":{"tags":["GameServer"],"summary":"Removes one native player whitelist entry.","operationId":"GameServer_RemoveWhitelist","parameters":[{"name":"playerId","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"204":{"description":""},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/whitelist/batch":{"post":{"tags":["GameServer"],"operationId":"GameServer_SetWhitelists","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/BatchSetWhitelistRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GameWhitelistBatchResult"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/whitelist/batch-delete":{"post":{"tags":["GameServer"],"operationId":"GameServer_RemoveWhitelists","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/BatchRemoveWhitelistRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GameWhitelistBatchResult"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/webhooks":{"get":{"tags":["Webhooks"],"summary":"Lists configured endpoints and process-local delivery status, excluding header values and signing secrets.","operationId":"WebhooksList","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WebhookResponse"}}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"post":{"tags":["Webhooks"],"summary":"Creates a bounded subscription; invalid settings return 400 and the endpoint limit returns 409. A generated signing secret is shown once.","operationId":"WebhooksCreate","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/WebhookRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookSaveResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/webhooks/event-types":{"get":{"tags":["Webhooks"],"summary":"Returns the supported SSE/Webhook event names and volume/privacy metadata.","operationId":"WebhooksEventTypes","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WebhookEventType"}}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/webhooks/{id}":{"get":{"tags":["Webhooks"],"summary":"Reads one endpoint; missing IDs return 404.","operationId":"WebhooksGet","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"put":{"tags":["Webhooks"],"summary":"Replaces configuration, cancelling queued deliveries with the previous settings; omitted header values are retained. Invalid settings return 400, missing IDs 404.","operationId":"WebhooksUpdate","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/WebhookRequest"}]}}},"x-position":2},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookSaveResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"delete":{"tags":["Webhooks"],"summary":"Deletes an endpoint and cancels its queued deliveries; returns 404 for unknown IDs.","operationId":"WebhooksDelete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"204":{"description":""},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/webhooks/{id}/test":{"post":{"tags":["Webhooks"],"summary":"Sends an explicitly requested webhook-test even if the endpoint is disabled. Returns delivery diagnostics, including failed HTTP responses; unknown IDs return 404.","operationId":"WebhooksTest","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookDeliveryResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/webhooks/{id}/rotate-secret":{"post":{"tags":["Webhooks"],"summary":"Replaces the signing secret, cancelling old queued deliveries; exposes the new secret once. Signing remains optional.","operationId":"WebhooksRotateSecret","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookSaveResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/status":{"get":{"tags":["GameServer"],"summary":"Identifies the current API instance and reports its game-server lifecycle state.","operationId":"GameServerStatus_GetStatus","responses":{"200":{"description":"Current game-server lifecycle state.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GameServerStatusResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/statistics":{"get":{"tags":["GameServer"],"summary":"Returns the latest statistics snapshot. The snapshot is sampled on the game thread and read here without touching native game objects.","operationId":"GameServerStatistics_GetStatistics","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GameServerStatisticsSnapshot"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"Statistics are not available until the first game snapshot has been captured.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/information/configuration":{"get":{"tags":["GameServer"],"summary":"Returns saved overrides, native startup defaults and effective player-center text.","operationId":"ServerInformationGetConfiguration","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerInformationConfigurationResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"put":{"tags":["GameServer"],"summary":"Replaces both overrides immediately; null restores native defaults, while empty rules explicitly clear the website text.","operationId":"ServerInformationUpdateConfiguration","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/ServerInformationConfigurationRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerInformationConfigurationResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/player/server-information":{"get":{"tags":["Player Center"],"summary":"Returns effective plain text and cached presence, with nullable runtime fields before game readiness.","operationId":"PlayerServerInformationGet","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerServerInformationResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{"playerBearer":[]}]}},"/api/game-server/players/{playerId}/teleport":{"post":{"tags":["GameServer"],"summary":"Sends an online player to absolute integer world coordinates.","operationId":"GameServerPlayerTeleport_TeleportToPosition","parameters":[{"name":"playerId","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/TeleportPlayerToPositionRequest"}]}}},"x-position":2},"responses":{"202":{"description":""},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"504":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/players/{playerId}/teleport-to-player":{"post":{"tags":["GameServer"],"summary":"Sends an online player to a target resolved by entity ID, platform ID, or exact name.","operationId":"GameServerPlayerTeleport_TeleportToPlayer","parameters":[{"name":"playerId","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/TeleportPlayerToPlayerRequest"}]}}},"x-position":2},"responses":{"202":{"description":""},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"504":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/players/{playerId}/profile/reset":{"post":{"tags":["GameServer"],"summary":"Archives and removes a player's native profile and invalidates saved API snapshots.","description":"The route accepts only a canonical combined player ID. An online player is rejected unless\nkickIfOnline is true. Archives are retained for manual recovery; no restore endpoint is exposed.","operationId":"GameServerPlayerProfileReset_Reset","parameters":[{"name":"playerId","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/ResetPlayerProfileRequest"}]}}},"x-position":2},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetPlayerProfileResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"504":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/players/offline/locations":{"get":{"tags":["GameServer"],"summary":"Returns the current world's native last-known positions for all offline players.","operationId":"GameServerPlayerLocations_GetOfflineLocations","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GameOfflinePlayerLocationSnapshot"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"504":{"description":"The fallback game-thread observation did not complete in time.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/players/{playerId}/kick":{"post":{"tags":["GameServer"],"summary":"Accepts a manual kick request; the delayed native disconnect may complete shortly afterward.","operationId":"GameServerPlayerKick_Kick","parameters":[{"name":"playerId","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/KickPlayerRequest"}]}}},"x-position":2},"responses":{"202":{"description":""},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"504":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/players/{playerIdOrName}/items":{"post":{"tags":["GameServer"],"summary":"Grants an item or block quantity to a player resolved by entity ID, platform ID, or exact name.","operationId":"GameServerPlayerItems_Grant","parameters":[{"name":"playerIdOrName","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/PlayerItemGrantRequest"}]}}},"x-position":2},"responses":{"202":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerItemGrantAcceptedResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"504":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/players/online/items":{"post":{"tags":["GameServer"],"summary":"Grants an item or block quantity to every spawned, living online player.","operationId":"GameServerPlayerItems_GrantToAllOnlinePlayers","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/PlayerItemGrantRequest"}]}}},"x-position":1},"responses":{"202":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerItemGrantAcceptedResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"504":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/players/{playerId}/inventory/removals":{"post":{"tags":["GameServer"],"summary":"Removes matching items from an online client or an offline native save.","description":"The target must be a canonical combined player ID. Online removal supports only AllMatching\nwithout count, container, or slot. Offline removal supports exact counts and SelectedSlot.\nA connection-state change aborts the request instead of switching execution paths.","operationId":"GameServerInventoryRemoval_Remove","parameters":[{"name":"playerId","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/RemoveInventoryItemsRequest"}]}}},"x-position":2},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveInventoryItemsResponse"}}}},"202":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveInventoryItemsAcceptedResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"504":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/mods":{"get":{"tags":["GameServer"],"summary":"Returns installed Mod metadata and current-process load state.","operationId":"GameServerMods_GetMods","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetGameModsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/map":{"get":{"tags":["GameServer"],"summary":"Returns the stable map tile layout and current world bounds.","operationId":"GameServerMap_GetMetadata","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GameMapMetadata"}}}},"304":{"description":""},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server or requested map data is temporarily unavailable.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/map/tiles/{z}/{x}/{y}.png":{"get":{"tags":["GameServer"],"summary":"Returns a rendered PNG tile, or a transparent PNG when no readable tile is available.","operationId":"GameServerMap_GetTile","parameters":[{"name":"z","in":"path","required":true,"schema":{"type":"integer","format":"int32"},"x-position":1},{"name":"x","in":"path","required":true,"schema":{"type":"integer","format":"int32"},"x-position":2},{"name":"y","in":"path","required":true,"schema":{"type":"integer","format":"int32"},"x-position":3}],"responses":{"200":{"description":"PNG image bytes.","content":{"image/png":{"schema":{"type":"string","format":"byte"}}}},"304":{"description":""},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server or requested map data is temporarily unavailable.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/map/configuration":{"get":{"tags":["GameServer"],"summary":"Returns both player-map switches, which default to closed.","operationId":"PlayerMapConfigurationGet","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerMapConfiguration"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"put":{"tags":["GameServer"],"summary":"Saves both switches atomically; changes apply to subsequent player requests without restarting.","operationId":"PlayerMapConfigurationUpdate","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerMapConfigurationRequest"}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerMapConfiguration"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/player/map":{"get":{"tags":["Player Center"],"summary":"Returns policy even when closed or the game is unavailable. Known offline players remain eligible to read an open map.","operationId":"PlayerMapGet","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerMapResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{"playerBearer":[]}]}},"/api/player/map/tiles/{z}/{x}/{y}.png":{"get":{"tags":["Player Center"],"summary":"Reads an existing PNG tile; absent tiles are transparent. Closed access, disabled rendering and unready games are rejected before tile reads.","operationId":"PlayerMapGetTile","parameters":[{"name":"z","in":"path","required":true,"schema":{"type":"integer","format":"int32"},"x-position":1},{"name":"x","in":"path","required":true,"schema":{"type":"integer","format":"int32"},"x-position":2},{"name":"y","in":"path","required":true,"schema":{"type":"integer","format":"int32"},"x-position":3}],"responses":{"200":{"description":"","content":{"image/png":{"schema":{"type":"string","format":"byte"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{"playerBearer":[]}]}},"/api/player/map/players":{"get":{"tags":["Player Center"],"summary":"Captures the token owner's current position and optionally other online players; request query IDs cannot widen scope. Offline or unspawned players are omitted.","operationId":"PlayerMapPlayers","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerMapPlayersResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"504":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{"playerBearer":[]}]}},"/api/game-server/logs":{"get":{"tags":["GameServer"],"summary":"Returns an ascending window from the native 3000-entry log buffer, or the latest entries when firstId is omitted.","operationId":"GameServerLogs_GetLogs","parameters":[{"name":"firstId","in":"query","description":"Gets or sets the optional inclusive process-local log ID.","schema":{"type":"integer","format":"int32","maximum":2147483647,"minimum":0,"nullable":true}},{"name":"count","in":"query","description":"Gets or sets the maximum number of entries; defaults to 200.","schema":{"type":"integer","format":"int32","maximum":3000,"minimum":1}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GameServerLogSnapshot"}}}},"400":{"description":"Invalid server log query parameters.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/land-claims/containers":{"get":{"tags":["GameServer"],"summary":"Returns all loaded player storage containers inside registered land claims.","description":"Only loaded chunks are inspected; unloaded containers and save-file contents are not returned.","operationId":"GameServerLandClaimContainers_GetContainers","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetLandClaimContainersResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"504":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/land-claims/{playerId}/containers":{"get":{"tags":["GameServer"],"summary":"Returns loaded player storage containers associated with one persistent player.","operationId":"GameServerLandClaimContainers_GetPlayerContainers","parameters":[{"name":"playerId","in":"path","required":true,"schema":{"type":"string"},"x-position":1},{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":2}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetLandClaimContainersResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"504":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/land-claims/{playerId}/containers/{x}/{y}/{z}/inventory":{"get":{"tags":["GameServer"],"summary":"Returns the inventory of one loaded player storage container.","description":"The coordinate must identify a player storage container inside the requested player's land claim.","operationId":"GameServerLandClaimContainers_GetInventory","parameters":[{"name":"playerId","in":"path","required":true,"schema":{"type":"string"},"x-position":1},{"name":"x","in":"path","required":true,"schema":{"type":"integer","format":"int32"},"x-position":2},{"name":"y","in":"path","required":true,"schema":{"type":"integer","format":"int32"},"x-position":3},{"name":"z","in":"path","required":true,"schema":{"type":"integer","format":"int32"},"x-position":4},{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":5}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetLandClaimContainerInventoryResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"504":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/land-claims/players/{playerId}":{"delete":{"tags":["GameServer"],"summary":"Removes all registered land claims belonging to one canonical player id.","operationId":"GameServerLandClaimRemoval_RemoveByPlayer","parameters":[{"name":"playerId","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveLandClaimsResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"504":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/land-claims/{x}/{y}/{z}":{"delete":{"tags":["GameServer"],"summary":"Removes the registered land claim at one integer world coordinate.","operationId":"GameServerLandClaimRemoval_RemoveByPosition","parameters":[{"name":"x","in":"path","required":true,"schema":{"type":"integer","format":"int32"},"x-position":1},{"name":"y","in":"path","required":true,"schema":{"type":"integer","format":"int32"},"x-position":2},{"name":"z","in":"path","required":true,"schema":{"type":"integer","format":"int32"},"x-position":3}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveLandClaimResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"504":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/land-claims":{"get":{"tags":["GameServer"],"summary":"Returns all registered claims, optionally filtered by canonical player id.","operationId":"GameServerLandClaims_GetLandClaims","parameters":[{"name":"playerId","in":"query","schema":{"type":"string","nullable":true},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetLandClaimsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"504":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/icons/items/{name}.png":{"get":{"tags":["GameServer"],"summary":"Returns one base-game or Mod item icon.","operationId":"GameServerIcons_GetItemIcon","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"200":{"description":"PNG image bytes.","content":{"image/png":{"schema":{"type":"string","format":"byte"}}}},"304":{"description":""},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{}]}},"/api/game-server/icons/ui/{name}.png":{"get":{"tags":["GameServer"],"summary":"Returns one UI icon bundled with the 7DPanel Mod.","operationId":"GameServerIcons_GetUiIcon","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"200":{"description":"PNG image bytes.","content":{"image/png":{"schema":{"type":"string","format":"byte"}}}},"304":{"description":""},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{}]}},"/api/game-server/events":{"get":{"tags":["GameServer"],"summary":"Opens a live event stream; slow clients lose the oldest queued events.","operationId":"GameServerEvents_GetEvents","responses":{"200":{"description":"","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/entities/locations":{"get":{"tags":["GameServer"],"summary":"Returns one detached best-effort scan of eligible loaded entities.","operationId":"GameServerEntityLocations_GetLocations","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GameEntityLocationSnapshot"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"The game server is still initializing.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"504":{"description":"The fallback game-thread scan did not complete in time.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/vehicles/locations":{"get":{"tags":["GameServer"],"summary":"Returns current or last-known positions for all tracked vehicles.","description":"Language selection uses the query parameter, Accept-Language, the active game language, then English.","operationId":"GameServerTrackedEntityLocations_GetVehicleLocations","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetVehicleLocationsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"504":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/vehicles/{entityId}/inventory":{"get":{"tags":["GameServer"],"summary":"Returns the current inventory of one loaded vehicle.","description":"Vehicle inventories are not persisted separately. An unloaded or missing vehicle returns 404.","operationId":"GameServerTrackedEntityLocations_GetVehicleInventory","parameters":[{"name":"entityId","in":"path","required":true,"schema":{"type":"integer","format":"int32"},"x-position":1},{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":2}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetVehicleInventoryResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"504":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/drones/locations":{"get":{"tags":["GameServer"],"summary":"Returns current or last-known positions for all tracked drones.","description":"Language selection uses the query parameter, Accept-Language, the active game language, then English.","operationId":"GameServerTrackedEntityLocations_GetDroneLocations","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetDroneLocationsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"504":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/traders/locations":{"get":{"tags":["GameServer"],"summary":"Returns every trader POI registered in the current world.","description":"POIs remain present when their trader entity is unloaded. Language selection uses the query parameter, Accept-Language, the active game language, then English.","operationId":"GameServerTrackedEntityLocations_GetTraderLocations","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTraderLocationsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"504":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/definitions/items":{"get":{"tags":["GameServer"],"summary":"Lists non-block items sorted by internal name, optionally including hidden definitions.","description":"Language uses the query parameter, weighted Accept-Language, active game language, then English.","operationId":"GameServerDefinitions_ListItems","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":1},{"name":"includeHidden","in":"query","schema":{"type":"boolean","default":false},"x-position":2}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListItemDefinitionsResponse"}}}},"304":{"description":""},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/definitions/items/{name}":{"get":{"tags":["GameServer"],"summary":"Returns one item by case-insensitive internal name, including hidden definitions.","operationId":"GameServerDefinitions_GetItem","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"},"x-position":1},{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":2}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemDefinitionResponse"}}}},"304":{"description":""},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/definitions/blocks":{"get":{"tags":["GameServer"],"summary":"Lists block definitions sorted by internal name, optionally including hidden definitions.","description":"Language uses the query parameter, weighted Accept-Language, active game language, then English.","operationId":"GameServerDefinitions_ListBlocks","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":1},{"name":"includeHidden","in":"query","schema":{"type":"boolean","default":false},"x-position":2}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListBlockDefinitionsResponse"}}}},"304":{"description":""},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/definitions/blocks/{name}":{"get":{"tags":["GameServer"],"summary":"Returns one block by case-insensitive internal name, including hidden definitions.","operationId":"GameServerDefinitions_GetBlock","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"},"x-position":1},{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":2}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlockDefinitionResponse"}}}},"304":{"description":""},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/definitions/entities":{"get":{"tags":["GameServer"],"summary":"Lists every loaded entity class sorted by canonical name.","description":"The name is the value accepted by the native se command and used by Economy boss rewards.\nRuntime ids and spawn ordinals are informational only and must not be persisted.","operationId":"GameServerDefinitions_ListEntities","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListEntityDefinitionsResponse"}}}},"304":{"description":""},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/definitions/entities/{name}":{"get":{"tags":["GameServer"],"summary":"Returns one loaded entity class by case-insensitive canonical name.","operationId":"GameServerDefinitions_GetEntity","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"},"x-position":1},{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":2}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityDefinitionResponse"}}}},"304":{"description":""},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/definitions/buffs":{"get":{"tags":["GameServer"],"summary":"Lists all loaded Buffs after game readiness, using the usual language fallback.","description":"Names are configuration references; duration and stacking are informational native defaults.","operationId":"GameServerDefinitions_ListBuffs","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListBuffDefinitionsResponse"}}}},"304":{"description":""},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/configuration":{"get":{"tags":["GameServer"],"summary":"Returns all values stored in the selected configuration file.","operationId":"GameServerConfiguration_GetConfiguration","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GameServerConfigurationResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"patch":{"tags":["GameServer"],"summary":"Atomically updates existing configuration properties. Changes take effect after restart.","operationId":"GameServerConfiguration_UpdateConfiguration","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/UpdateGameServerConfigurationRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateGameServerConfigurationResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/game-server/configuration/restore-backup":{"post":{"tags":["GameServer"],"summary":"Restores the fixed configuration backup without modifying the backup itself.","operationId":"GameServerConfiguration_RestoreBackup","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateGameServerConfigurationResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/chat/message-templates":{"get":{"tags":["Chat"],"summary":"Lists the fixed Chat template catalog using the requested default language.","description":"Omitting language uses the active game language and then English.","operationId":"ChatMessageTemplates_List","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatMessageTemplatesResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/chat/message-templates/{key}":{"put":{"tags":["Chat"],"summary":"Creates or replaces one global override for a fixed Chat template.","operationId":"ChatMessageTemplates_Update","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"},"x-position":1},{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":3}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/ChatMessageTemplateRequest"}]}}},"x-position":2},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatMessageTemplateResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"delete":{"tags":["Chat"],"summary":"Deletes one override so runtime rendering resumes using embedded defaults.","operationId":"ChatMessageTemplates_RestoreDefault","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"},"x-position":1},{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":2}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatMessageTemplateResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/chat/messages":{"get":{"tags":["ChatHistory"],"summary":"Lists recent chat history retained for this server.","operationId":"ChatHistory_List","parameters":[{"name":"pageNumber","in":"query","schema":{"type":"integer","format":"int32","maximum":2147483647,"minimum":1}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","maximum":200,"minimum":1}},{"name":"playerId","in":"query","schema":{"type":"string","nullable":true}},{"name":"senderName","in":"query","description":"Matches a case-insensitive ASCII substring of the observed sender name.","schema":{"type":"string","maxLength":64,"minLength":0,"nullable":true}},{"name":"message","in":"query","description":"Matches a case-insensitive ASCII substring of the message text.","schema":{"type":"string","maxLength":500,"minLength":0,"nullable":true}},{"name":"channel","in":"query","schema":{"$ref":"#/components/schemas/GameChatChannel"}},{"name":"from","in":"query","schema":{"type":"string","format":"date-time","nullable":true}},{"name":"to","in":"query","schema":{"type":"string","format":"date-time","nullable":true}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListChatHistoryResponse"}}}},"400":{"description":"Invalid chat history query parameters.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/chat/configuration":{"get":{"tags":["Chat"],"summary":"Gets Chat policy and editable command metadata from one snapshot, without requiring game readiness.","operationId":"ChatConfiguration_Get","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatConfigurationResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"put":{"tags":["Chat"],"summary":"Atomically replaces Chat policy and editable routes; conflicts preserve storage and require no game readiness.","operationId":"ChatConfiguration_Update","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":2}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/ChatConfigurationRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatConfigurationResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/chat/commands":{"get":{"tags":["Chat"],"summary":"Lists every registered command, including disabled entries, without requiring game readiness.","operationId":"ChatCommands_Get","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ChatCommandCatalogItemResponse"}}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/player/chat/commands":{"get":{"tags":["Player Center"],"summary":"Reads policy and enabled, help-visible command metadata from one snapshot. Disabled Chat retains readable help; descriptions use module language resources and administrator overrides.","operationId":"PlayerChatCommandsGet","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerChatCommandsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{"playerBearer":[]}]}},"/api/economy/rewards/scheduled":{"get":{"tags":["Economy"],"summary":"Returns the current scheduled reward configuration.","operationId":"EconomyScheduledReward_Get","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EconomyScheduledRewardConfigurationResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"put":{"tags":["Economy"],"summary":"Validates and replaces the scheduled reward configuration.","operationId":"EconomyScheduledReward_Update","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/EconomyScheduledRewardConfigurationRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EconomyScheduledRewardConfigurationResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/economy/rewards/online-duration":{"get":{"tags":["Economy"],"summary":"Returns the current online-duration reward configuration.","operationId":"EconomyOnlineRewardConfiguration_Get","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EconomyOnlineRewardConfigurationResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"put":{"tags":["Economy"],"summary":"Validates and replaces the online-duration reward configuration.","operationId":"EconomyOnlineRewardConfiguration_Update","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/EconomyOnlineRewardConfigurationRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EconomyOnlineRewardConfigurationResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/economy/rewards/milestones":{"get":{"tags":["Economy"],"summary":"Searches rules by name substring, metric, and enabled state with one-based pagination.","operationId":"EconomyMilestones_List","parameters":[{"name":"pageNumber","in":"query","schema":{"type":"integer","format":"int32","maximum":2147483647,"minimum":1}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","maximum":100,"minimum":1}},{"name":"name","in":"query","schema":{"type":"string","maxLength":64,"minLength":0,"nullable":true}},{"name":"metric","in":"query","schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/EconomyMilestoneMetric"}]}},{"name":"enabled","in":"query","schema":{"type":"boolean","nullable":true}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListEconomyMilestonesResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"post":{"tags":["Economy"],"summary":"Creates a new claim identity; duplicate metric/threshold pairs return 409.","operationId":"EconomyMilestones_Create","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/EconomyMilestoneRuleRequest"}]}}},"x-position":1},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EconomyMilestoneRule"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/economy/rewards/milestones/{id}":{"put":{"tags":["Economy"],"summary":"Replaces settings without resetting prior claims, including when the amount changes.","operationId":"EconomyMilestones_Update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/EconomyMilestoneRuleRequest"}]}}},"x-position":2},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EconomyMilestoneRule"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"delete":{"tags":["Economy"],"summary":"Deletes only the rule. Historical claims remain; recreating a rule creates new eligibility.","operationId":"EconomyMilestones_Delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"204":{"description":""},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/economy/rewards/activity/first-login":{"get":{"tags":["Economy"],"summary":"Returns the current first-login reward configuration.","operationId":"EconomyFirstLoginRewardConfiguration_Get","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EconomyFirstLoginRewardConfigurationResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"put":{"tags":["Economy"],"summary":"Validates and replaces the first-login reward configuration.","operationId":"EconomyFirstLoginRewardConfiguration_Update","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/EconomyFirstLoginRewardConfigurationRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EconomyFirstLoginRewardConfigurationResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/economy/rewards/activity/boss":{"get":{"tags":["Economy"],"summary":"Returns the current boss-defeat reward configuration.","operationId":"EconomyBossRewardConfiguration_Get","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EconomyBossRewardConfigurationResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"put":{"tags":["Economy"],"summary":"Validates and replaces the boss-defeat reward configuration.","operationId":"EconomyBossRewardConfiguration_Update","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/EconomyBossRewardConfigurationRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EconomyBossRewardConfigurationResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/player/economy/leaderboard":{"get":{"tags":["Player Center"],"summary":"Reads up to 100 existing accounts across saves without requiring game readiness or online presence. Disabled Economy or public ranking returns an empty list.","operationId":"PlayerEconomy_Leaderboard","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","format":"int32","default":10},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerEconomyLeaderboardResponse"}}}},"400":{"description":"Limit must be an integer between 1 and 100.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{"playerBearer":[]}]}},"/api/player/economy/account":{"get":{"tags":["Player Center"],"summary":"Returns currency metadata, online-reward rules and an existing account without creating accounts or advancing reward progress.","operationId":"PlayerEconomy_Account","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerEconomyAccountResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{"playerBearer":[]}]}},"/api/player/economy/transactions":{"get":{"tags":["Player Center"],"summary":"Lists the token owner's ledger with the standard type, source and UTC time filters.","operationId":"PlayerEconomy_Transactions","parameters":[{"name":"pageNumber","in":"query","description":"One-based page number.","schema":{"type":"integer","format":"int32","maximum":2147483647,"minimum":1}},{"name":"pageSize","in":"query","description":"Number of transactions per page.","schema":{"type":"integer","format":"int32","maximum":100,"minimum":1}},{"name":"type","in":"query","description":"Exact transaction type filter, such as Adjustment or DailySignIn.","schema":{"type":"string","maxLength":64,"minLength":0,"nullable":true}},{"name":"source","in":"query","description":"Exact originating feature or subsystem filter.","schema":{"type":"string","maxLength":128,"minLength":0,"nullable":true}},{"name":"from","in":"query","description":"Inclusive UTC lower bound.","schema":{"type":"string","format":"date-time","nullable":true}},{"name":"to","in":"query","description":"Exclusive UTC upper bound.","schema":{"type":"string","format":"date-time","nullable":true}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListEconomyTransactionsResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{"playerBearer":[]}]}},"/api/player/economy/daily":{"get":{"tags":["Player Center"],"summary":"Reads today's claim state without writing SQLite. The calendar boundary uses the configured daily reset time zone.","operationId":"PlayerEconomy_Daily","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerDailyResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{"playerBearer":[]}]},"post":{"tags":["Player Center"],"summary":"Claims while online. Chat and Web share a stable player/day reference, so simultaneous claims credit only once.","operationId":"PlayerEconomy_Claim","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerDailyResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{"playerBearer":[]}]}},"/api/economy/penalties/death":{"get":{"tags":["Economy"],"summary":"Returns the current death-penalty policy without requiring game readiness.","operationId":"EconomyDeathPenaltyConfiguration_Get","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EconomyDeathPenaltyConfigurationResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"put":{"tags":["Economy"],"summary":"Validates and replaces the policy; invalid input leaves it unchanged.","operationId":"EconomyDeathPenaltyConfiguration_Update","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/EconomyDeathPenaltyConfigurationRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EconomyDeathPenaltyConfigurationResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/economy/message-templates":{"get":{"tags":["Economy"],"summary":"Lists fixed templates and effective content for the requested language.","operationId":"EconomyMessageTemplates_List","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EconomyMessageTemplatesResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/economy/message-templates/{key}":{"put":{"tags":["Economy"],"summary":"Stores one global override; language selects only the default shown in the response.","operationId":"EconomyMessageTemplates_Update","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"},"x-position":1},{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":3}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/EconomyMessageTemplateRequest"}]}}},"x-position":2},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EconomyMessageTemplateResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"delete":{"tags":["Economy"],"summary":"Deletes one override so runtime rendering resumes using an embedded default.","operationId":"EconomyMessageTemplates_Restore","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"},"x-position":1},{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":2}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EconomyMessageTemplateResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/economy/configuration":{"get":{"tags":["Economy"],"summary":"Returns effective economy settings; balances are not partitioned by world save.","operationId":"EconomyConfiguration_Get","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EconomyConfigurationResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"put":{"tags":["Economy"],"summary":"Replaces economy settings after validating currency and time-zone values.","operationId":"EconomyConfiguration_Update","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/EconomyConfigurationRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EconomyConfigurationResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/economy/accounts":{"get":{"tags":["Economy"],"summary":"Searches persisted economy accounts by exact player ID or display-name substring.","operationId":"EconomyAccounts_ListAccounts","parameters":[{"name":"pageNumber","in":"query","description":"One-based page number.","schema":{"type":"integer","format":"int32","maximum":2147483647,"minimum":1}},{"name":"pageSize","in":"query","description":"Number of accounts per page.","schema":{"type":"integer","format":"int32","maximum":100,"minimum":1}},{"name":"playerId","in":"query","description":"Exact global player ID filter.","schema":{"type":"string","maxLength":128,"minLength":0,"nullable":true}},{"name":"playerName","in":"query","description":"Case-insensitive display-name substring filter.","schema":{"type":"string","maxLength":128,"minLength":0,"nullable":true}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListEconomyAccountsResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/economy/players/{playerId}/account":{"get":{"tags":["Economy"],"summary":"Returns one existing account with its creation and last-update timestamps.","operationId":"EconomyAccounts_GetAccount","parameters":[{"name":"playerId","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EconomyAccountItem"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"No economy account exists for the specified player ID.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/economy/players/{playerId}/transactions":{"get":{"tags":["Economy"],"summary":"Lists one player's immutable economy transactions with optional filters.","operationId":"EconomyAccounts_ListTransactions","parameters":[{"name":"playerId","in":"path","required":true,"schema":{"type":"string"},"x-position":1},{"name":"pageNumber","in":"query","description":"One-based page number.","schema":{"type":"integer","format":"int32","maximum":2147483647,"minimum":1}},{"name":"pageSize","in":"query","description":"Number of transactions per page.","schema":{"type":"integer","format":"int32","maximum":100,"minimum":1}},{"name":"type","in":"query","description":"Exact transaction type filter, such as Adjustment or DailySignIn.","schema":{"type":"string","maxLength":64,"minLength":0,"nullable":true}},{"name":"source","in":"query","description":"Exact originating feature or subsystem filter.","schema":{"type":"string","maxLength":128,"minLength":0,"nullable":true}},{"name":"from","in":"query","description":"Inclusive UTC lower bound.","schema":{"type":"string","format":"date-time","nullable":true}},{"name":"to","in":"query","description":"Exclusive UTC upper bound.","schema":{"type":"string","format":"date-time","nullable":true}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListEconomyTransactionsResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"No economy account exists for the specified player ID.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/economy/players/{playerId}/balance":{"get":{"tags":["Economy"],"summary":"Returns an existing player's balance across all game worlds represented by this database.","description":"This read-only endpoint does not create an account. It returns 404 when the player has no economy account yet.","operationId":"EconomyAccounts_GetBalance","parameters":[{"name":"playerId","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EconomyBalanceResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"No economy account exists for the specified player ID.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/economy/leaderboard":{"get":{"tags":["Economy"],"summary":"Returns the indexed balance ranking with deterministic tie ordering.","operationId":"EconomyAccounts_GetLeaderboard","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","format":"int32","default":10},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EconomyLeaderboardItem"}}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/economy/players/{playerId}/adjust":{"post":{"tags":["Economy"],"summary":"Applies one administrator adjustment and records it in the immutable ledger.","operationId":"EconomyAccounts_Adjust","parameters":[{"name":"playerId","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/EconomyAdjustmentRequest"}]}}},"x-position":2},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EconomyAdjustmentResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/economy/accounts/reset":{"post":{"tags":["Economy"],"summary":"Resets every existing non-zero account balance in one atomic ledger transaction.","operationId":"EconomyAccounts_ResetAllBalances","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/EconomyBalanceResetRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EconomyBalanceResetResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/shop/purchases":{"get":{"tags":["Shop"],"summary":"Lists one page of purchases by creation time with optional player, product, definition, resolution, status, and inclusive UTC time filters.","operationId":"ShopPurchases_List","parameters":[{"name":"pageNumber","in":"query","schema":{"type":"integer","format":"int32","default":1},"x-position":1},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","default":50},"x-position":2},{"name":"playerId","in":"query","schema":{"type":"string","nullable":true},"x-position":3},{"name":"playerName","in":"query","schema":{"type":"string","nullable":true},"x-position":4},{"name":"productKey","in":"query","schema":{"type":"string","nullable":true},"x-position":5},{"name":"definitionName","in":"query","schema":{"type":"string","nullable":true},"x-position":6},{"name":"chargeReference","in":"query","schema":{"type":"string","nullable":true},"x-position":7},{"name":"resolutionAction","in":"query","schema":{"type":"string","nullable":true},"x-position":8},{"name":"status","in":"query","schema":{"type":"string","nullable":true},"x-position":9},{"name":"from","in":"query","schema":{"type":"string","format":"date-time","nullable":true},"x-position":10},{"name":"to","in":"query","schema":{"type":"string","format":"date-time","nullable":true},"x-position":11}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShopPurchasesPageResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/shop/purchases/{id}":{"get":{"tags":["Shop"],"summary":"Reads one purchase including its delivery snapshot and manual resolution state.","operationId":"ShopPurchases_Get","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShopPurchaseResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/shop/purchases/{id}/attempts":{"get":{"tags":["Shop"],"summary":"Lists every recorded delivery attempt for one purchase in execution order.","operationId":"ShopPurchases_Attempts","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ShopDeliveryAttemptResponse"}}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/shop/purchases/{id}/resolve":{"post":{"tags":["Shop"],"summary":"Resolves only Uncertain purchases; redelivery may duplicate items and refund does not revoke prior delivery.","operationId":"ShopPurchases_Resolve","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/ShopPurchaseResolutionRequest"}]}}},"x-position":2},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShopPurchaseResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/player/shop/products":{"get":{"tags":["Player Center"],"summary":"Filters and sorts enabled, available products before pagination. Optional comma-separated product keys support browser-owned favorites without persisting them. Equal prices or names use product keys for stable ordering; a disabled shop returns an empty catalog.","operationId":"PlayerShop_Products","parameters":[{"name":"pageNumber","in":"query","schema":{"type":"integer","format":"int32","default":1},"x-position":1},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","default":20},"x-position":2},{"name":"search","in":"query","schema":{"type":"string","nullable":true},"x-position":3},{"name":"category","in":"query","schema":{"type":"string","nullable":true},"x-position":4},{"name":"sort","in":"query","schema":{"default":"Default","oneOf":[{"$ref":"#/components/schemas/PlayerProductSort"}]},"x-position":5},{"name":"productKeys","in":"query","schema":{"type":"string","nullable":true},"x-position":6}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerProductsResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{"playerBearer":[]}]}},"/api/player/shop/products/{key}":{"get":{"tags":["Player Center"],"summary":"Reads one currently purchasable product with this player's cooldown and UTC daily usage.","operationId":"PlayerShop_Product","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerProductResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{"playerBearer":[]}]}},"/api/player/shop/categories":{"get":{"tags":["Player Center"],"summary":"Lists nonempty categories across the full available catalog, independent of product search or pagination. A disabled shop returns an empty list.","operationId":"PlayerShop_Categories","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{"playerBearer":[]}]}},"/api/player/shop/purchases":{"post":{"tags":["Player Center"],"summary":"Buys for the token owner while online. Reusing a request GUID returns the same order; HTTP cancellation after order creation does not cancel fulfillment.","operationId":"PlayerShop_Buy","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/PlayerPurchaseRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerPurchaseResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{"playerBearer":[]}]},"get":{"tags":["Player Center"],"summary":"Filters token-owned orders by exact product key, status and inclusive UTC creation bounds before pagination. Invalid status or reversed bounds return 400; request data cannot select a different player.","operationId":"PlayerShop_Purchases","parameters":[{"name":"pageNumber","in":"query","schema":{"type":"integer","format":"int32","default":1},"x-position":1},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","default":20},"x-position":2},{"name":"productKey","in":"query","schema":{"type":"string","nullable":true},"x-position":3},{"name":"status","in":"query","schema":{"type":"string","nullable":true},"x-position":4},{"name":"from","in":"query","schema":{"type":"string","format":"date-time","nullable":true},"x-position":5},{"name":"to","in":"query","schema":{"type":"string","format":"date-time","nullable":true},"x-position":6}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerPurchasesResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{"playerBearer":[]}]}},"/api/player/shop/purchases/{id}":{"get":{"tags":["Player Center"],"summary":"Reads one owned order; absent and other-player orders both return 404.","operationId":"PlayerShop_Purchase","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerPurchaseResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{"playerBearer":[]}]}},"/api/shop/message-templates":{"get":{"tags":["Shop"],"summary":"Lists the fixed Shop templates and their effective overrides.","operationId":"ShopMessageTemplates_List","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShopMessageTemplatesResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/shop/message-templates/{key}":{"put":{"tags":["Shop"],"summary":"Replaces one language-independent Shop message override.","operationId":"ShopMessageTemplates_Update","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"},"x-position":1},{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":3}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/ShopMessageTemplateRequest"}]}}},"x-position":2},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShopMessageTemplateResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"delete":{"tags":["Shop"],"summary":"Deletes one override so runtime rendering uses the embedded default.","operationId":"ShopMessageTemplates_Restore","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"},"x-position":1},{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":2}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShopMessageTemplateResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/shop/configuration":{"get":{"tags":["Shop"],"summary":"Reads the effective Shop switch and command metadata.","operationId":"ShopConfiguration_Get","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShopConfigurationResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"put":{"tags":["Shop"],"summary":"Atomically replaces the Shop switch and all three command descriptors.","operationId":"ShopConfiguration_Update","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":2}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/ShopConfigurationRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShopConfigurationResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/shop/products":{"get":{"tags":["Shop"],"summary":"Lists one page of configured products by catalog order, optionally filtering name/key and category.","operationId":"ShopProducts_List","parameters":[{"name":"pageNumber","in":"query","schema":{"type":"integer","format":"int32","default":1},"x-position":1},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","default":50},"x-position":2},{"name":"search","in":"query","schema":{"type":"string","nullable":true},"x-position":3},{"name":"category","in":"query","schema":{"type":"string","nullable":true},"x-position":4}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShopProductsPageResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"post":{"tags":["Shop"],"summary":"Creates a product after validating the current native definition catalog.","operationId":"ShopProducts_Create","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/ShopProductRequest"}]}}},"x-position":1},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShopProductResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/shop/products/{id}":{"get":{"tags":["Shop"],"summary":"Reads one product by its stable identifier.","operationId":"ShopProducts_Get","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShopProductResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"put":{"tags":["Shop"],"summary":"Replaces one product after validating the current native definition catalog.","operationId":"ShopProducts_Update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/ShopProductRequest"}]}}},"x-position":2},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShopProductResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"delete":{"tags":["Shop"],"summary":"Deletes one product configuration.","operationId":"ShopProducts_Delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"204":{"description":""},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/player/teleportation/options":{"get":{"tags":["Player Center"],"summary":"Reads feature switches, whole-unit fees and effective command metadata without requiring the player to be online.","operationId":"PlayerTeleportation_Options","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerTeleportationOptionsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{"playerBearer":[]}]}},"/api/player/teleportation/homes":{"get":{"tags":["Player Center"],"summary":"Lists only the token owner's homes in the active save, including while travel is disabled or the player is offline.","operationId":"PlayerTeleportation_Homes","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PlayerTeleportDestinationResponse"}}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{"playerBearer":[]}]}},"/api/player/teleportation/landmarks":{"get":{"tags":["Player Center"],"summary":"Searches enabled landmarks in the active save by name or key before pagination; queries remain available offline.","operationId":"PlayerTeleportation_Landmarks","parameters":[{"name":"pageNumber","in":"query","schema":{"type":"integer","format":"int32","default":1},"x-position":1},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","default":20},"x-position":2},{"name":"search","in":"query","schema":{"type":"string","nullable":true},"x-position":3}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerLandmarksResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{"playerBearer":[]}]}},"/api/player/teleportation/homes/{id}/teleport":{"post":{"tags":["Player Center"],"summary":"Returns to one owned home while online. A request UUID claims one execution; replays read its original result even after disconnect.","operationId":"PlayerTeleportation_ReturnHome","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/PlayerTeleportRequest"}]}}},"x-position":2},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerTeleportResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{"playerBearer":[]}]}},"/api/player/teleportation/landmarks/{id}/teleport":{"post":{"tags":["Player Center"],"summary":"Travels to an enabled landmark while online, using its stored coordinates, direction and current fee; duplicate requests never resend the instruction.","operationId":"PlayerTeleportation_TravelLandmark","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/PlayerTeleportRequest"}]}}},"x-position":2},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerTeleportResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{"playerBearer":[]}]}},"/api/player/teleportation/requests/{requestId}":{"get":{"tags":["Player Center"],"summary":"Reads only the token owner's web request in the active save; another player's or absent request returns 404. Pending and Uncertain do not authorize re-execution.","operationId":"PlayerTeleportation_GetRequest","parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerTeleportResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{"playerBearer":[]}]}},"/api/teleportation/message-templates":{"get":{"tags":["Teleportation"],"summary":"Lists fixed templates using the requested embedded default language.","operationId":"TeleportationMessageTemplates_List","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeleportationMessageTemplatesResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/teleportation/message-templates/{key}":{"put":{"tags":["Teleportation"],"summary":"Creates or replaces the global override for a fixed template key.","operationId":"TeleportationMessageTemplates_Update","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"},"x-position":1},{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":3}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/TeleportationMessageTemplateRequest"}]}}},"x-position":2},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeleportationMessageTemplateResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"delete":{"tags":["Teleportation"],"summary":"Deletes the global override so rendering resumes using embedded defaults.","operationId":"TeleportationMessageTemplates_RestoreDefault","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"},"x-position":1},{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":2}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeleportationMessageTemplateResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/teleportation/landmarks":{"get":{"tags":["Teleportation"],"summary":"Lists manually configured landmarks in the active world.","operationId":"Landmarks_List","parameters":[{"name":"pageNumber","in":"query","description":"Gets the one-based page number.","schema":{"type":"integer","format":"int32","maximum":2147483647,"minimum":1}},{"name":"pageSize","in":"query","description":"Gets the maximum number of landmarks returned in one page.","schema":{"type":"integer","format":"int32","maximum":200,"minimum":1}},{"name":"key","in":"query","description":"Gets an optional case-insensitive key fragment filter.","schema":{"type":"string","maxLength":64,"minLength":0,"nullable":true}},{"name":"name","in":"query","description":"Gets an optional display-name fragment filter.","schema":{"type":"string","maxLength":128,"minLength":0,"nullable":true}},{"name":"enabled","in":"query","description":"Gets whether to include only enabled or only disabled landmarks.","schema":{"type":"boolean","nullable":true}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListLandmarksResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"post":{"tags":["Teleportation"],"summary":"Creates one landmark in the active world.","operationId":"Landmarks_Create","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/LandmarkRequest"}]}}},"x-position":1},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LandmarkResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/teleportation/landmarks/{id}":{"get":{"tags":["Teleportation"],"summary":"Gets one landmark by stable ID.","operationId":"Landmarks_Get","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LandmarkResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"put":{"tags":["Teleportation"],"summary":"Replaces one landmark without changing its stable ID or creation time.","operationId":"Landmarks_Update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/LandmarkRequest"}]}}},"x-position":2},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LandmarkResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"delete":{"tags":["Teleportation"],"summary":"Deletes one landmark without interacting with online players.","operationId":"Landmarks_Delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"204":{"description":""},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/teleportation/landmarks/configuration":{"get":{"tags":["Teleportation"],"summary":"Gets landmark feature settings without requiring game readiness.","operationId":"LandmarkConfiguration_Get","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LandmarkConfigurationResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"put":{"tags":["Teleportation"],"summary":"Replaces landmark feature settings and command routing atomically.","operationId":"LandmarkConfiguration_Update","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":2}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/LandmarkConfigurationRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LandmarkConfigurationResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/teleportation/homes":{"get":{"tags":["Teleportation"],"summary":"Lists persisted homes in the active world with optional player and name filters.","operationId":"PlayerHomes_List","parameters":[{"name":"pageNumber","in":"query","schema":{"type":"integer","format":"int32","maximum":2147483647,"minimum":1}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","maximum":200,"minimum":1}},{"name":"playerId","in":"query","schema":{"type":"string","maxLength":256,"minLength":0,"nullable":true}},{"name":"name","in":"query","schema":{"type":"string","maxLength":32,"minLength":0,"nullable":true}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPlayerHomesResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"post":{"tags":["Teleportation"],"summary":"Creates a persisted home without reading an online player's position.","operationId":"PlayerHomes_Create","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/PlayerHomeRequest"}]}}},"x-position":1},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerHomeResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/teleportation/homes/{id}":{"get":{"tags":["Teleportation"],"summary":"Gets one persisted home by stable ID.","operationId":"PlayerHomes_Get","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerHomeResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"put":{"tags":["Teleportation"],"summary":"Replaces a persisted home without changing its stable ID or creation time.","operationId":"PlayerHomes_Update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/PlayerHomeRequest"}]}}},"x-position":2},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerHomeResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"delete":{"tags":["Teleportation"],"summary":"Deletes one persisted home; this does not interact with an online player.","operationId":"PlayerHomes_Delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"204":{"description":""},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/teleportation/homes/configuration":{"get":{"tags":["Teleportation"],"summary":"Gets persisted multi-home rules and current command metadata without game readiness.","operationId":"HomeConfiguration_Get","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HomeConfigurationResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"put":{"tags":["Teleportation"],"summary":"Atomically replaces multi-home rules and command routing using last-writer-wins semantics.","operationId":"HomeConfiguration_Update","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":2}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/HomeConfigurationRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HomeConfigurationResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/teleportation/history":{"get":{"tags":["Teleportation"],"summary":"Lists attempts in the active save with exact player ID, name substring, kind, result, and inclusive UTC time filters.","operationId":"TeleportationHistory_List","parameters":[{"name":"pageNumber","in":"query","schema":{"type":"integer","format":"int32","maximum":2147483647,"minimum":1}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","maximum":200,"minimum":1}},{"name":"playerId","in":"query","schema":{"type":"string","maxLength":256,"minLength":0,"nullable":true}},{"name":"playerName","in":"query","schema":{"type":"string","maxLength":256,"minLength":0,"nullable":true}},{"name":"kind","in":"query","description":"Home, Landmark, Friend, AdministratorPosition, or AdministratorPlayer.","schema":{"type":"string","nullable":true}},{"name":"status","in":"query","description":"Pending, Accepted, Rejected, or Uncertain.","schema":{"type":"string","nullable":true}},{"name":"from","in":"query","description":"Inclusive lower bound on attempt start time, in RFC 3339.","schema":{"type":"string","nullable":true}},{"name":"to","in":"query","description":"Inclusive upper bound on attempt start time, in RFC 3339.","schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListTeleportationHistoryResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/teleportation/friends/configuration":{"get":{"tags":["Teleportation"],"summary":"Gets player-to-player teleport rules without requiring game readiness.","operationId":"FriendTeleportConfiguration_Get","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FriendTeleportConfigurationResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"put":{"tags":["Teleportation"],"summary":"Replaces player-to-player teleport rules atomically from the API perspective.","operationId":"FriendTeleportConfiguration_Update","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":2}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/FriendTeleportConfigurationRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FriendTeleportConfigurationResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/voting/message-templates":{"get":{"tags":["Voting"],"summary":"Lists the fixed template catalog using the requested embedded default language.","description":"A valid unsupported BCP 47 language falls back to en-US. Omitting language uses the active game language, then en-US.","operationId":"VotingMessageTemplates_List","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VotingMessageTemplatesResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/voting/message-templates/{key}":{"put":{"tags":["Voting"],"summary":"Creates or replaces the single global override for a fixed template key.","description":"Language selects only the default content returned with the response and is not persisted.","operationId":"VotingMessageTemplates_Update","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"},"x-position":1},{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":3}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/VotingMessageTemplateRequest"}]}}},"x-position":2},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VotingMessageTemplateResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"delete":{"tags":["Voting"],"summary":"Deletes the global override so runtime rendering resumes using embedded defaults.","description":"Language selects only the default content returned with the response and is not persisted.","operationId":"VotingMessageTemplates_RestoreDefault","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"},"x-position":1},{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":2}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VotingMessageTemplateResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/voting/configuration":{"get":{"tags":["Voting"],"summary":"Gets persisted voting rules and the currently effective command metadata.","operationId":"VotingConfiguration_Get","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VotingConfigurationResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"put":{"tags":["Voting"],"summary":"Replaces voting configuration and command routing using last-writer-wins semantics.","operationId":"VotingConfiguration_Update","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":2}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/VotingConfigurationRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VotingConfigurationResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/host-monitoring/cpu-times":{"get":{"tags":["HostMonitoring"],"summary":"Returns accumulated CPU time counters.","operationId":"HostMonitoring_GetCpuTimes","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HostCpuTimes"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/host-monitoring/memory":{"get":{"tags":["HostMonitoring"],"summary":"Returns current physical and virtual memory usage.","operationId":"HostMonitoring_GetMemory","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HostMemoryInfo"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/host-monitoring/storage":{"get":{"tags":["HostMonitoring"],"summary":"Returns currently available storage volumes.","operationId":"HostMonitoring_GetStorage","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HostDiskInfo"}}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/host-monitoring/network":{"get":{"tags":["HostMonitoring"],"summary":"Returns active network interfaces and cumulative traffic counters.","operationId":"HostMonitoring_GetNetwork","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HostNetworkInfo"}}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/host-monitoring/platform":{"get":{"tags":["HostMonitoring"],"summary":"Returns static host platform and runtime information.","operationId":"HostMonitoring_GetPlatform","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HostPlatformInfo"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/host-monitoring/metrics":{"get":{"tags":["HostMonitoring"],"summary":"Returns one UTC-timestamped aggregate host telemetry snapshot.","operationId":"HostMonitoring_GetMetrics","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HostMetricsSnapshot"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/automation/tasks":{"get":{"tags":["Automation"],"summary":"Lists enabled tasks and their next planned UTC occurrences.","operationId":"AutomationTasks_List","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutomationTasksResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/automation/runs":{"get":{"tags":["Automation"],"summary":"Lists claimed occurrences in reverse start order.","operationId":"AutomationRuns_List","parameters":[{"name":"taskType","in":"query","description":"Gets an optional exact task-type filter.","schema":{"type":"string","nullable":true}},{"name":"sourceId","in":"query","description":"Gets an optional exact business source-ID filter.","schema":{"type":"string","nullable":true}},{"name":"status","in":"query","description":"Gets an optional normalized outcome filter.","schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/AutomationRunStatus"}]}},{"name":"pageNumber","in":"query","description":"Gets the one-based page number.","schema":{"type":"integer","format":"int32","maximum":2147483647,"minimum":1}},{"name":"pageSize","in":"query","description":"Gets the page size, from 1 through 200.","schema":{"type":"integer","format":"int32","maximum":200,"minimum":1}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutomationRunsResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/automation/cron/preview":{"post":{"tags":["Automation"],"summary":"Returns the next UTC occurrences for a standard five-field Cron expression.","operationId":"CronPreview_Preview","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/CronPreviewRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CronPreviewResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/backups/configuration":{"get":{"tags":["Backups"],"summary":"Returns effective backup retention and optional scheduled-task settings.","operationId":"BackupConfiguration_Get","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackupConfigurationResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"put":{"tags":["Backups"],"summary":"Replaces retention and schedule settings and refreshes the derived Automation task.","operationId":"BackupConfiguration_Update","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/BackupConfigurationRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackupConfigurationResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/backups":{"get":{"tags":["Backups"],"summary":"Lists backup records across saves, optionally filtered by source names.","operationId":"Backups_List","parameters":[{"name":"worldName","in":"query","schema":{"type":"string","nullable":true},"x-position":1},{"name":"gameName","in":"query","schema":{"type":"string","nullable":true},"x-position":2}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackupsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"post":{"tags":["Backups"],"summary":"Queues an online best-effort copy without stopping or saving the game server.","operationId":"Backups_Create","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/CreateBackupRequest"}]}}},"x-position":1},"responses":{"202":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackupRecordResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/backups/{backupId}":{"get":{"tags":["Backups"],"summary":"Gets one persisted record by its stable backup identifier.","operationId":"Backups_Get","parameters":[{"name":"backupId","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackupRecordResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"delete":{"tags":["Backups"],"summary":"Deletes one completed backup directory or ZIP archive.","operationId":"Backups_Delete","parameters":[{"name":"backupId","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"204":{"description":""},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"409":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/announcements/welcome":{"get":{"tags":["Announcements"],"summary":"Gets welcome configuration without requiring the game world to be ready.","operationId":"WelcomeAnnouncements_Get","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WelcomeAnnouncementResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"put":{"tags":["Announcements"],"summary":"Atomically replaces welcome configuration using last-writer-wins semantics.","operationId":"WelcomeAnnouncements_Update","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/WelcomeAnnouncementRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WelcomeAnnouncementResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/announcements/scheduled":{"get":{"tags":["Announcements"],"summary":"Lists all configured announcements.","operationId":"Announcements_List","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AnnouncementResponse"}}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"post":{"tags":["Announcements"],"summary":"Creates an announcement configuration and activates its schedule when enabled.","operationId":"Announcements_Create","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/AnnouncementRequest"}]}}},"x-position":1},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnouncementResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/announcements/scheduled/{id}":{"get":{"tags":["Announcements"],"summary":"Gets one configured announcement by its stable ID.","operationId":"Announcements_Get","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnouncementResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"put":{"tags":["Announcements"],"summary":"Replaces one announcement configuration using last-writer-wins semantics.","operationId":"Announcements_Update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/AnnouncementRequest"}]}}},"x-position":2},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnouncementResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"delete":{"tags":["Announcements"],"summary":"Deletes an announcement configuration and its derived runtime schedule.","operationId":"Announcements_Delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"x-position":1}],"responses":{"204":{"description":""},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/announcements/message-templates":{"get":{"tags":["Announcements"],"summary":"Lists fixed event templates using the requested embedded default language.","operationId":"AnnouncementMessageTemplates_List","parameters":[{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnouncementMessageTemplatesResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/announcements/message-templates/{key}":{"put":{"tags":["Announcements"],"summary":"Creates or replaces the global override for a fixed event template.","operationId":"AnnouncementMessageTemplates_Update","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"},"x-position":1},{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":3}],"requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/AnnouncementMessageTemplateRequest"}]}}},"x-position":2},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnouncementMessageTemplateResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"delete":{"tags":["Announcements"],"summary":"Deletes the global override so event delivery resumes using embedded defaults.","operationId":"AnnouncementMessageTemplates_RestoreDefault","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"},"x-position":1},{"name":"language","in":"query","schema":{"type":"string","nullable":true},"x-position":2}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnouncementMessageTemplateResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"404":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/api/announcements/blood-moon":{"get":{"tags":["Announcements"],"summary":"Gets blood-moon configuration without requiring the game world to be ready.","operationId":"BloodMoonAnnouncements_Get","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BloodMoonAnnouncementResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}},"put":{"tags":["Announcements"],"summary":"Atomically replaces blood-moon configuration using last-writer-wins semantics.","operationId":"BloodMoonAnnouncements_Update","requestBody":{"x-name":"request","content":{"application/json":{"schema":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/BloodMoonAnnouncementRequest"}]}}},"x-position":1},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BloodMoonAnnouncementResponse"}}}},"400":{"description":"","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationProblemDetailsResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}}}},"/oauth/steam/options":{"get":{"tags":["Authentication"],"summary":"Reports login availability and the selected callback origin without requiring game readiness or authentication.","operationId":"SteamLoginOptions","responses":{"200":{"description":"Login availability and callback origin; no-store.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SteamLoginAvailabilityResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{}]}},"/oauth/steam/start":{"get":{"tags":["Authentication"],"summary":"Sets a browser correlation cookie and redirects to Steam; disabled login returns 404 and exhausted capacity returns 503.","operationId":"SteamLoginStart","parameters":[{"name":"redirect","in":"query","description":"Optional local route after sign-in; unsafe values fall back to /.","schema":{"type":"string","nullable":true},"x-position":1}],"responses":{"302":{"description":"Browser redirect to Steam; use navigation rather than AJAX."},"404":{"description":"Steam login is disabled or its public address is unavailable."},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"Too many unfinished login attempts."}},"security":[{}]}},"/oauth/steam/player/start":{"get":{"tags":["Player Center"],"summary":"Starts player Steam login, independently of administrator login; returns 404 when disabled and 503 at capacity.","operationId":"PlayerSteamLoginStart","parameters":[{"name":"redirect","in":"query","schema":{"type":"string","nullable":true},"x-position":1}],"responses":{"302":{"description":"Browser redirect to Steam with player-purpose state."},"404":{"description":"Player Steam login disabled or public origin unavailable."},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"503":{"description":"Too many unfinished login attempts."}},"security":[{}]}},"/oauth/steam/callback":{"get":{"tags":["Authentication"],"summary":"Verifies the Steam OpenID response and cookie, then redirects with a one-time login code or a fixed error code.","description":"Disabled login returns 404. Verification failures are reported to the frontend without exposing exception text.","operationId":"SteamLoginCallback","responses":{"302":{"description":"Browser redirect to /sign-in/steam with a code or error; no bearer or refresh tokens."},"404":{"description":"Steam login is disabled or its public address is unavailable."},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{}]}},"/oauth/steam/player/callback":{"get":{"tags":["Player Center"],"summary":"Verifies a player-bound Steam attempt and redirects to /player/login/steam with a one-time code or fixed error.","description":"Unknown historical players receive not_authorized; bearer and refresh tokens never appear in redirects.","operationId":"PlayerSteamLoginCallback","responses":{"302":{"description":"Redirect to /player/login/steam with a one-time code or fixed error."},"404":{"description":"Player Steam login disabled or public origin unavailable."},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{}]}},"/api/player/login/options":{"get":{"tags":["Player Center"],"summary":"Returns the effective login-code command and independent Steam availability before authentication.\nDisabling new code requests does not invalidate existing login credentials.","operationId":"PlayerLoginOptions","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerLoginOptionsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{}]}},"/api/player/me":{"get":{"tags":["Player Center"],"summary":"Returns the authenticated player's stable ID, display name, and current presence.","operationId":"PlayerSession_Get","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerSessionResponse"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"403":{"description":"The authenticated identity does not have access to this resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"405":{"description":"The HTTP method is not supported for this API resource.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}},"500":{"description":"Internal server error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsResponse"}}}}},"security":[{"playerBearer":[]}]}},"/oauth/token":{"post":{"tags":["Authentication"],"summary":"Issue or refresh an OAuth2 bearer token.","description":"Issues administrator tokens with password or steam_code, player tokens with player_code or player_steam_code and client_id=7dpanel-player, or rotates a client-bound refresh token. Steam grants require the audience-specific browser correlation cookie.","operationId":"OAuthToken","requestBody":{"description":"Password, refresh-token, steam_code, player_steam_code or player_code grant form fields.","content":{"application/x-www-form-urlencoded":{"schema":{"oneOf":[{"type":"object","required":["grant_type","username","password"],"properties":{"grant_type":{"type":"string","enum":["password"]},"username":{"type":"string"},"password":{"type":"string"},"client_id":{"type":"string"}}},{"type":"object","required":["grant_type","refresh_token"],"properties":{"grant_type":{"type":"string","enum":["refresh_token"]},"refresh_token":{"type":"string"},"client_id":{"type":"string"}}},{"type":"object","required":["grant_type","code","client_id"],"properties":{"grant_type":{"type":"string","enum":["steam_code"]},"code":{"type":"string"},"client_id":{"type":"string","enum":["7dpanel-web"]}}},{"type":"object","required":["grant_type","code","client_id"],"properties":{"grant_type":{"type":"string","enum":["player_code"]},"code":{"type":"string"},"client_id":{"type":"string","enum":["7dpanel-player"]}}},{"type":"object","required":["grant_type","code","client_id"],"properties":{"grant_type":{"type":"string","enum":["player_steam_code"]},"code":{"type":"string"},"client_id":{"type":"string","enum":["7dpanel-player"]}}}]}}},"required":true},"responses":{"200":{"description":"Token issued.","content":{"application/json":{"schema":{"type":"object","required":["access_token","token_type","refresh_token","username","expires_in"],"properties":{"access_token":{"type":"string"},"token_type":{"type":"string"},"refresh_token":{"type":"string"},"username":{"type":"string"},"player_id":{"type":"string"},"expires_in":{"type":"integer"}}}}}},"400":{"description":"OAuth token request rejected.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"},"error_description":{"type":"string"}}}}}}},"security":[{}]}}},"components":{"schemas":{"LicensingStatus":{"type":"object","description":"Administrator status without the activation code or signed credential.","additionalProperties":false,"properties":{"configured":{"type":"boolean"},"status":{"type":"string"},"installationId":{"type":"string"},"features":{"type":"array","description":"Currently usable features; empty when process ownership is unavailable even if Status is Active.","items":{"type":"string"}},"entitlementExpiresAt":{"type":"string","description":"Verified subscription period end or individual license expiry; null for a non-subscription perpetual license or when no verified lease is available.","format":"date-time","nullable":true},"offlineUntil":{"type":"string","format":"date-time","nullable":true},"lastCheckedAt":{"type":"string","format":"date-time","nullable":true},"error":{"type":"string","nullable":true},"errorCode":{"type":"string","description":"Stable presentation reason: Denied, CreemInactive, Unavailable, InvalidCache, CheckFailed or SubscriptionAssociationRequired; null after a successful entitlement operation.","nullable":true},"runtimeStatus":{"type":"string","description":"Process ownership, independent of license validity: Active, Offline, Conflict, Expired or Unavailable."},"runtimeExpiresAt":{"type":"string","description":"Absolute short outage deadline; the runtime permit is held only in memory.","format":"date-time","nullable":true},"runtimeError":{"type":"string","description":"Stable reason code for presentation; never contains credentials.","nullable":true},"lastRuntimeAttemptAt":{"type":"string","description":"Most recent process-permit request; null before any request, never persisted.","format":"date-time","nullable":true},"lastRuntimeSuccessAt":{"type":"string","description":"Most recent successful process-permit renewal in this process.","format":"date-time","nullable":true},"runtimeConflictExpiresAt":{"type":"string","description":"Observed other-owner expiry, not a guaranteed takeover time; that owner may renew.","format":"date-time","nullable":true}}},"ProblemDetailsResponse":{"type":"object","description":"Describes an HTTP API problem using the standard members defined by RFC 9457.","additionalProperties":false,"required":["type","title","status","detail","instance","traceId"],"properties":{"type":{"type":"string","description":"URI reference that identifies the problem type."},"title":{"type":"string","description":"Short, human-readable summary of the problem type."},"status":{"type":"integer","description":"HTTP status code generated for this occurrence of the problem.","format":"int32"},"detail":{"type":"string","description":"Human-readable explanation specific to this occurrence of the problem."},"instance":{"type":"string","description":"URI reference that identifies this occurrence of the problem."},"traceId":{"type":"string","description":"W3C trace identifier that correlates this response with server-side diagnostics."}}},"ActivateLicenseRequest":{"type":"object","additionalProperties":false,"properties":{"key":{"type":"string","nullable":true},"purchaseEmail":{"type":"string","description":"Optional purchase email for recovering a lost activation; forwarded to Creem through the Worker and never persisted.","nullable":true}}},"PreviousLicenseInstallation":{"type":"object","description":"Provider-confirmed previous binding; excludes this installation and contains no license key or email.","additionalProperties":false,"properties":{"installationId":{"type":"string"},"instanceId":{"type":"string"},"isActive":{"type":"boolean","description":"False permits retrying DO cleanup for an instance already deactivated in Creem."}}},"PreviousInstallationRequest":{"type":"object","description":"Bearer-key recovery credentials, used only for the current request and never persisted.","additionalProperties":false,"properties":{"key":{"type":"string","nullable":true},"purchaseEmail":{"type":"string","description":"Purchase email used to locate the customer's license and match the complete key; not proof of email ownership.","nullable":true}}},"DeactivatePreviousInstallationRequest":{"allOf":[{"$ref":"#/components/schemas/PreviousInstallationRequest"},{"type":"object","description":"Explicitly selected old binding; target remains fixed across cleanup retries.","additionalProperties":false,"properties":{"instanceId":{"type":"string","nullable":true},"confirmed":{"type":"boolean","description":"Must be true after the operator confirms that the selected old installation will lose access."}}}]},"ListAdministratorsResponse":{"type":"object","additionalProperties":false,"required":["administrators"],"properties":{"administrators":{"type":"array","items":{"$ref":"#/components/schemas/AdministratorListItem"}}}},"AdministratorListItem":{"type":"object","additionalProperties":false,"required":["userId","permissionLevel"],"properties":{"userId":{"type":"string","description":"Configured combined platform or cross-platform identifier."},"displayName":{"type":"string","description":"Configured name or note, independent of the stored player nickname.","nullable":true},"playerName":{"type":"string","description":"Nickname from matching persistent player data; null when unavailable.","nullable":true},"permissionLevel":{"type":"integer","description":"Configured user permission level, without group-derived permissions.","format":"int32"}}},"ValidationProblemDetailsResponse":{"allOf":[{"$ref":"#/components/schemas/ProblemDetailsResponse"},{"type":"object","description":"Describes request validation failures and associates messages with JSON field paths.","additionalProperties":false,"required":["errors"],"properties":{"errors":{"type":"object","description":"Validation messages keyed by JSON field path.","additionalProperties":{"type":"array","items":{"type":"string"}}}}}]},"AdministratorWriteRequest":{"type":"object","additionalProperties":false,"properties":{"displayName":{"type":"string","description":"Optional configured name or note, at most 128 characters, without line breaks.","nullable":true},"permissionLevel":{"type":"integer","description":"Required permission level from 0 to 1000; lower values grant more command permissions.","format":"int32","nullable":true}}},"GameAdministratorBatchResult":{"type":"object","additionalProperties":false,"required":["succeededCount","failedCount","items"],"properties":{"succeededCount":{"type":"integer","format":"int32"},"failedCount":{"type":"integer","format":"int32"},"items":{"type":"array","items":{"$ref":"#/components/schemas/GameAdministratorBatchItemResult"}}}},"GameAdministratorBatchItemResult":{"type":"object","additionalProperties":false,"required":["userId","status"],"properties":{"userId":{"type":"string"},"status":{"$ref":"#/components/schemas/GameAdministratorOperationStatus"},"error":{"type":"string","nullable":true}}},"GameAdministratorOperationStatus":{"type":"string","description":"","x-enumNames":["Succeeded","InvalidUserId","NotFound","AlreadyExists","Failed"],"enum":["Succeeded","InvalidUserId","NotFound","AlreadyExists","Failed"]},"BatchCreateAdministratorsRequest":{"type":"object","additionalProperties":false,"properties":{"administrators":{"type":"array","nullable":true,"items":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/BatchCreateAdministratorItem"}]}}}},"BatchCreateAdministratorItem":{"type":"object","additionalProperties":false,"properties":{"userId":{"type":"string","nullable":true},"request":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/AdministratorWriteRequest"}]}}},"BatchDeleteAdministratorsRequest":{"type":"object","additionalProperties":false,"properties":{"userIds":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}}}},"ListBansResponse":{"type":"object","additionalProperties":false,"required":["bans"],"properties":{"bans":{"type":"array","items":{"$ref":"#/components/schemas/BanListItem"}}}},"BanListItem":{"type":"object","additionalProperties":false,"required":["playerId","bannedUntil"],"properties":{"playerId":{"type":"string"},"bannedUntil":{"type":"string","format":"date-time"},"displayName":{"type":"string","nullable":true},"reason":{"type":"string","nullable":true}}},"SetBanRequest":{"type":"object","additionalProperties":false,"properties":{"bannedUntil":{"type":"string","description":"UTC instant after which the player may connect again.","format":"date-time","nullable":true},"displayName":{"type":"string","description":"Optional native ban-list display name, at most 128 characters.","nullable":true},"reason":{"type":"string","description":"Optional moderator-provided reason, at most 512 characters.","nullable":true}}},"GameBanBatchResult":{"type":"object","additionalProperties":false,"required":["succeededCount","failedCount","items"],"properties":{"succeededCount":{"type":"integer","format":"int32"},"failedCount":{"type":"integer","format":"int32"},"items":{"type":"array","items":{"$ref":"#/components/schemas/GameBanBatchItemResult"}}}},"GameBanBatchItemResult":{"type":"object","additionalProperties":false,"required":["playerId","status"],"properties":{"playerId":{"type":"string"},"status":{"$ref":"#/components/schemas/GameBanOperationStatus"},"error":{"type":"string","nullable":true}}},"GameBanOperationStatus":{"type":"string","description":"","x-enumNames":["Succeeded","InvalidPlayerId","InvalidExpiration","NotFound","TimedOut","Failed"],"enum":["Succeeded","InvalidPlayerId","InvalidExpiration","NotFound","TimedOut","Failed"]},"BatchSetBansRequest":{"type":"object","additionalProperties":false,"properties":{"bans":{"type":"array","nullable":true,"items":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/BatchSetBanItem"}]}}}},"BatchSetBanItem":{"type":"object","additionalProperties":false,"properties":{"playerId":{"type":"string","nullable":true},"request":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/SetBanRequest"}]}}},"BatchRemoveBansRequest":{"type":"object","additionalProperties":false,"properties":{"playerIds":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}}}},"SetCommandPermissionRequest":{"type":"object","additionalProperties":false,"properties":{"permissionLevel":{"type":"integer","format":"int32","nullable":true}}},"ListConsoleCommandsResponse":{"type":"object","additionalProperties":false,"required":["commands"],"properties":{"commands":{"type":"array","items":{"$ref":"#/components/schemas/ConsoleCommandListItem"}}}},"ConsoleCommandListItem":{"type":"object","additionalProperties":false,"required":["name","aliases","description","help","defaultPermissionLevel","permissionLevel"],"properties":{"name":{"type":"string","description":"First usable registered name for the command."},"aliases":{"type":"array","items":{"type":"string"}},"description":{"type":"string"},"help":{"type":"string"},"defaultPermissionLevel":{"type":"integer","description":"Command-declared default, excluding administrator overrides; not an HTTP authorization rule.","format":"int32"},"permissionLevel":{"type":"integer","description":"Effective level resolved by the game, including administrator overrides; not an HTTP authorization rule.","format":"int32"}}},"ExecuteConsoleCommandRequest":{"type":"object","additionalProperties":false,"properties":{"command":{"type":"string","description":"Single-line command text passed to the game console; limited to 200 characters after trimming.","nullable":true}}},"ExecuteConsoleCommandResponse":{"type":"object","additionalProperties":false,"required":["output"],"properties":{"output":{"type":"array","items":{"type":"string"}}}},"ListLocalizationLanguagesResponse":{"type":"object","description":"Language columns currently available from the loaded game and Mods.","additionalProperties":false,"properties":{"activeLanguage":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/LocalizationLanguageResponse"}]},"languages":{"type":"array","items":{"$ref":"#/components/schemas/LocalizationLanguageResponse"}}}},"LocalizationLanguageResponse":{"type":"object","description":"Public language identifiers for one loaded game localization column.","additionalProperties":false,"required":["gameLanguage","isActive"],"properties":{"gameLanguage":{"type":"string"},"tag":{"type":"string","nullable":true},"isActive":{"type":"boolean"}}},"GetLocalizationEntriesResponse":{"type":"object","description":"All non-empty localization values from one selected language column.","additionalProperties":false,"required":["language","entries"],"properties":{"language":{"$ref":"#/components/schemas/LocalizationLanguageResponse"},"entries":{"type":"object","additionalProperties":{"type":"string"}}}},"GetLocalizationEntryResponse":{"type":"object","description":"A localization value together with the language column that supplied it.","additionalProperties":false,"required":["key","value","language"],"properties":{"key":{"type":"string"},"value":{"type":"string"},"language":{"$ref":"#/components/schemas/LocalizationLanguageResponse"}}},"SendPrivateMessageRequest":{"type":"object","additionalProperties":false,"properties":{"recipientIdOrName":{"type":"string","description":"Required entity ID, platform user ID (including provider prefix), or player name, as a string.\nNative resolution tries IDs before case-insensitive exact names; duplicate names select the first connection.","nullable":true},"message":{"type":"string","nullable":true},"senderName":{"type":"string","description":"Optional display label supporting game BBCode, not a player identity. At most 64 characters after trimming, without line breaks; blank uses the default server name.","nullable":true}}},"SendGlobalMessageRequest":{"type":"object","additionalProperties":false,"properties":{"message":{"type":"string","nullable":true},"senderName":{"type":"string","nullable":true}}},"ListPlayersResponse":{"type":"object","additionalProperties":false,"properties":{"players":{"type":"array","items":{"$ref":"#/components/schemas/GamePlayerSummary"}}}},"GamePlayerSummary":{"type":"object","description":"A server-observed online player snapshot maintained by game events.","additionalProperties":false,"required":["playerId","observedAt"],"properties":{"playerId":{"type":"string","description":"Cross-platform identifier including its provider prefix, used as the player key."},"platformId":{"type":"string","description":"Native platform identifier including its provider prefix; empty when unavailable."},"name":{"type":"string","description":"Display name reported by the connection; empty when unavailable."},"entityId":{"type":"integer","description":"Current session's game entity identifier; may be unassigned before spawning.","format":"int32"},"ipAddress":{"type":"string","description":"Client address reported by the game's network connection.","nullable":true},"ping":{"type":"integer","description":"Last connection latency reported by the game, in milliseconds.","format":"int32","nullable":true},"isOnline":{"type":"boolean","description":"Whether the player was online when observed; disconnected players are removed from the online cache."},"permissionLevel":{"type":"integer","description":"Observed game permission level; lower values grant more privileges. Not an authorization source.","format":"int32","nullable":true},"isAdmin":{"type":"boolean","description":"Whether the observed permission level is zero. This snapshot must not be used for authorization.","nullable":true},"isTwitchEnabled":{"type":"boolean","description":"Whether Twitch integration was enabled on the observed player entity; null when the entity is unavailable.","nullable":true},"isTwitchSafe":{"type":"boolean","description":"Observed game-controlled Twitch safety state, including safe-area protection; null when the entity is unavailable.","nullable":true},"lastSeenAt":{"type":"string","description":"Last activity time recorded by the game, sourced from PersistentPlayerData.LastLogin and converted to UTC; may update on saves as well as login.","format":"date-time","nullable":true},"joinedAt":{"type":"string","description":"UTC time this connection was first added to the cache; preserved until disconnection.","format":"date-time","nullable":true},"observedAt":{"type":"string","description":"UTC time the snapshot was captured; individual game values may have been synchronized earlier.","format":"date-time"},"position":{"description":"Observed position in game world coordinates.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/GamePosition"}]},"rotation":{"description":"Observed entity Euler rotation, in degrees.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/GameRotation"}]},"totalPlayTimeSeconds":{"type":"number","description":"Game-recorded cumulative play time for this character, converted to seconds; not current session duration.","format":"double","nullable":true},"health":{"type":"number","description":"Observed remaining health points.","format":"float","nullable":true},"maxHealth":{"type":"number","description":"Observed maximum health points reported by the game.","format":"float","nullable":true},"stamina":{"type":"number","description":"Observed remaining stamina points.","format":"float","nullable":true},"maxStamina":{"type":"number","description":"Observed maximum stamina points reported by the game.","format":"float","nullable":true},"isDead":{"type":"boolean","description":"Saved death state, falling back to the entity when save data is unavailable; not inferred from health.","nullable":true},"gameStage":{"type":"integer","description":"Game-calculated difficulty stage for this player; distinct from character level.","format":"int32","nullable":true},"food":{"type":"number","description":"Observed food stat value in game units, not a percentage.","format":"float","nullable":true},"water":{"type":"number","description":"Observed water stat value in game units, not a percentage.","format":"float","nullable":true},"experience":{"type":"integer","description":"Experience already earned toward advancing from the current level to the next; excludes previous levels.","format":"int32","nullable":true},"experienceToNextLevel":{"type":"integer","description":"Experience still required to reach the next level.","format":"int32","nullable":true},"skillPoints":{"type":"integer","description":"Unspent skill points reported by the player's progression.","format":"int32","nullable":true},"level":{"type":"integer","description":"Observed character progression level.","format":"int32","nullable":true},"deaths":{"type":"integer","description":"Game-recorded death count for this character, not just this connection.","format":"int32","nullable":true},"killedZombies":{"type":"integer","description":"Game-recorded zombie kill count for this character.","format":"int32","nullable":true},"killedPlayers":{"type":"integer","description":"Game-recorded player kill count for this character.","format":"int32","nullable":true},"score":{"type":"integer","description":"Saved score, falling back to the entity when save data is unavailable; not recalculated by the API.","format":"int32","nullable":true}}},"GamePosition":{"type":"object","description":"Game world coordinates preserving fractional values when supplied by the source.","additionalProperties":false,"properties":{"x":{"type":"number","description":"World X coordinate on the east-west axis.","format":"double"},"y":{"type":"number","description":"World Y coordinate (height).","format":"double"},"z":{"type":"number","description":"World Z coordinate on the north-south axis.","format":"double"}}},"GameRotation":{"type":"object","description":"Game entity Euler rotation in degrees.","additionalProperties":false,"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"},"z":{"type":"number","format":"double"}}},"ListPlayerSnapshotsResponse":{"type":"object","additionalProperties":false,"required":["players","totalCount","pageNumber","pageSize"],"properties":{"players":{"type":"array","items":{"$ref":"#/components/schemas/PlayerSnapshotListItem"}},"totalCount":{"type":"integer","format":"int64"},"pageNumber":{"type":"integer","description":"One-based page number used for this result.","format":"int32"},"pageSize":{"type":"integer","format":"int32"}}},"PlayerSnapshotListItem":{"type":"object","description":"Indexed fields from the last successfully persisted snapshot; no detail JSON is loaded for a list.","additionalProperties":false,"required":["playerId","platformId","name","observedAt","persistedAt","isOnline"],"properties":{"playerId":{"type":"string"},"platformId":{"type":"string"},"name":{"type":"string"},"lastSeenAt":{"type":"string","format":"date-time","nullable":true},"observedAt":{"type":"string","format":"date-time"},"persistedAt":{"type":"string","format":"date-time"},"level":{"type":"integer","format":"int32","nullable":true},"killedZombies":{"type":"integer","format":"int32","nullable":true},"killedPlayers":{"type":"integer","format":"int32","nullable":true},"deaths":{"type":"integer","format":"int32","nullable":true},"totalPlayTimeSeconds":{"type":"number","format":"double","nullable":true},"score":{"type":"integer","format":"int32","nullable":true},"isOnline":{"type":"boolean","description":"Last successfully persisted presence state, which may lag or remain stale after a dropped update."}}},"PlayerSnapshotSortField":{"type":"string","description":"","x-enumNames":["LastSeenAt","Name","Level","KilledZombies","KilledPlayers","Deaths","TotalPlayTimeSeconds","Score"],"enum":["LastSeenAt","Name","Level","KilledZombies","KilledPlayers","Deaths","TotalPlayTimeSeconds","Score"]},"PlayerSnapshotSortDirection":{"type":"string","description":"","x-enumNames":["Ascending","Descending"],"enum":["Ascending","Descending"]},"GetPlayerSnapshotResponse":{"type":"object","additionalProperties":false,"required":["snapshot","persistedAt","isOnline"],"properties":{"snapshot":{"description":"Unmodified persisted observation, including the summary captured at its own ObservedAt.","oneOf":[{"$ref":"#/components/schemas/GamePlayerDetails"}]},"persistedAt":{"type":"string","description":"UTC timestamp assigned during the successful database write, not a new game observation.","format":"date-time"},"isOnline":{"type":"boolean","description":"Last successfully persisted presence state; it may lag or remain stale after a dropped update. Snapshot.Summary.IsOnline describes capture time only."}}},"GamePlayerDetails":{"type":"object","description":"Player details captured from persistent records and the latest available player save data.","additionalProperties":false,"required":["summary"],"properties":{"summary":{"description":"Summary captured in the same atomic snapshot.","oneOf":[{"$ref":"#/components/schemas/GamePlayerSummary"}]},"playGroup":{"type":"string","description":"Platform play group, not a party: Unknown, Standalone, XBS or PS5.","nullable":true},"allyPlayerIds":{"type":"array","description":"Current ally identifiers from the game relationship store; not ACL permission tags.","nullable":true,"items":{"type":"string"}},"isLandProtectionActive":{"type":"boolean","description":"Whether the game considers this player eligible for land protection; does not imply a claim exists.","nullable":true},"landClaimBlocks":{"type":"array","description":"Recorded claim block positions; null when persistent data is unavailable.","nullable":true,"items":{"$ref":"#/components/schemas/GamePosition"}},"lastSpawnAt":{"type":"string","description":"UTC time of the last observed spawn event, including teleport events.","format":"date-time","nullable":true},"lastRespawnReason":{"description":"Reason supplied by the last observed spawn event; null until such an event is observed.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/GameRespawnReason"}]},"lastSpawnPosition":{"description":"Last saved spawn position, not current position.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/GamePosition"}]},"bedroll":{"description":"Bedroll position; null if unset.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/GamePosition"}]},"spawnPoints":{"type":"array","description":"Spawn positions present in the save; not a dynamically calculated spawn menu.","nullable":true,"items":{"$ref":"#/components/schemas/GamePosition"}},"distanceWalked":{"type":"number","description":"Game-recorded distance walked in world distance units.","format":"float","nullable":true},"totalItemsCrafted":{"type":"integer","description":"Game-recorded cumulative crafted item count.","nullable":true},"longestLifeSeconds":{"type":"number","description":"Longest survival duration, converted from native minutes to seconds.","format":"double","nullable":true},"currentLifeSeconds":{"type":"number","description":"Current survival duration, converted from native minutes to seconds.","format":"double","nullable":true},"ownedVendingMachinePositions":{"type":"array","description":"Recorded owned vending machine locations.","nullable":true,"items":{"$ref":"#/components/schemas/GamePosition"}},"rentedVMPosition":{"description":"Saved rented machine position; null when save data is unavailable or RentalEndDay is not positive.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/GamePosition"}]},"rentalEndDay":{"type":"integer","description":"Saved rental expiration game day; zero means no rental record, null means save data is unavailable.","format":"int32","nullable":true},"alreadyCraftedList":{"type":"array","description":"Saved recipe keys already crafted.","nullable":true,"items":{"type":"string"}},"unlockedRecipeList":{"type":"array","description":"Saved unlocked recipe keys.","nullable":true,"items":{"type":"string"}},"favoriteRecipeList":{"type":"array","description":"Saved favorite recipe keys.","nullable":true,"items":{"type":"string"}},"backpacks":{"type":"array","description":"Tracked dropped backpack entities, not inventory contents.","nullable":true,"items":{"$ref":"#/components/schemas/GamePlayerBackpack"}},"questPositions":{"type":"array","description":"Recorded quest locations.","nullable":true,"items":{"$ref":"#/components/schemas/GamePlayerQuestPosition"}},"ownedEntities":{"type":"array","description":"Saved owned entities and optional last-known positions.","nullable":true,"items":{"$ref":"#/components/schemas/GamePlayerOwnedEntity"}},"playerProfile":{"description":"Saved appearance metadata.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/GamePlayerProfile"}]}}},"GameRespawnReason":{"type":"string","description":"","x-enumNames":["Unknown","NewGame","LoadedGame","Died","Teleport","EnterMultiplayer","JoinMultiplayer"],"enum":["Unknown","NewGame","LoadedGame","Died","Teleport","EnterMultiplayer","JoinMultiplayer"]},"GamePlayerBackpack":{"type":"object","additionalProperties":false,"properties":{"entityId":{"type":"integer","description":"Tracked backpack entity identifier.","format":"int32"},"position":{"description":"Recorded world position.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/GamePosition"}]},"timestamp":{"type":"integer","description":"Game world total minutes when this dropped backpack was recorded; not Unix time."}}},"GamePlayerQuestPosition":{"type":"object","additionalProperties":false,"properties":{"questCode":{"type":"integer","description":"Native quest code.","format":"int32"},"positionType":{"type":"string","description":"Native quest position category name."},"position":{"description":"Recorded block position.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/GamePosition"}]}}},"GamePlayerOwnedEntity":{"type":"object","additionalProperties":false,"properties":{"entityId":{"type":"integer","description":"Saved entity identifier.","format":"int32"},"classId":{"type":"integer","description":"Native entity class identifier.","format":"int32"},"lastKnownPosition":{"description":"Null if the save has no last-known position.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/GamePosition"}]}}},"GamePlayerProfile":{"type":"object","additionalProperties":false,"properties":{"isMale":{"type":"boolean","description":"Whether the saved avatar uses the male body preset."},"raceName":{"type":"string","description":"Saved race identifier."},"eyeColor":{"type":"string","description":"Saved eye color value."},"hairName":{"type":"string","description":"Saved hair style identifier."},"hairColor":{"type":"string","description":"Saved hair color value."},"mustacheName":{"type":"string","description":"Saved mustache style identifier."},"chopsName":{"type":"string","description":"Saved sideburn style identifier."},"beardName":{"type":"string","description":"Saved beard style identifier."},"variantNumber":{"type":"integer","description":"Saved appearance variant index.","format":"int32"},"profileArchetype":{"type":"string","description":"Saved profile archetype identifier."},"entityClassName":{"type":"string","description":"Entity class name resolved by the game from the saved player profile."}}},"GetPlayerInventoryResponse":{"type":"object","description":"Best available player inventory together with its source and freshness timestamps.","additionalProperties":false,"required":["entityId","playerId","source","backpack","belt","equipment","observedAt"],"properties":{"entityId":{"type":"integer","format":"int32"},"playerId":{"type":"string"},"source":{"$ref":"#/components/schemas/PlayerInventorySource"},"persistedAt":{"type":"string","description":"UTC database-write time for Snapshot responses; null for Live and newly loaded SaveFile responses.","format":"date-time","nullable":true},"backpack":{"type":"array","items":{"$ref":"#/components/schemas/InventoryItemResponse"}},"belt":{"type":"array","items":{"$ref":"#/components/schemas/InventoryItemResponse"}},"equipment":{"type":"array","items":{"$ref":"#/components/schemas/InventoryItemResponse"}},"observedAt":{"type":"string","format":"date-time"}}},"PlayerInventorySource":{"type":"string","description":"Identifies the source that satisfied a player inventory request.","x-enumNames":["Live","Snapshot","SaveFile"],"enum":["Live","Snapshot","SaveFile"]},"InventoryItemResponse":{"type":"object","description":"A detached occupied inventory slot; empty slots are omitted.","additionalProperties":false,"required":["slot","itemName","displayName","count","isMod","isBlock","useTimes","maxUseTimes"],"properties":{"slot":{"type":"integer","description":"Zero-based slot index in the original game container.","format":"int32"},"equipmentSlot":{"description":"Named equipment slot; null for backpack, belt, or unrecognized game indices.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/GameEquipmentSlot"}]},"ammo":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/GameAmmoState"}]},"modifications":{"type":"array","items":{"$ref":"#/components/schemas/InventoryModificationResponse"}},"cosmeticModifications":{"type":"array","items":{"$ref":"#/components/schemas/InventoryModificationResponse"}},"itemName":{"type":"string","description":"Internal item name, not localized display text."},"displayName":{"type":"string"},"iconName":{"type":"string","nullable":true},"iconColor":{"type":"string","nullable":true},"maxStackSize":{"type":"integer","format":"int32","nullable":true},"count":{"type":"integer","format":"int32"},"quality":{"type":"integer","format":"int32","nullable":true},"qualityColor":{"type":"string","nullable":true},"isMod":{"type":"boolean"},"isBlock":{"type":"boolean"},"useTimes":{"type":"number","description":"Durability already consumed, not remaining durability; preserves fractional usage.","format":"float"},"maxUseTimes":{"type":"integer","description":"Maximum durability usage for this item, including installed modifiers.","format":"int32"}}},"GameEquipmentSlot":{"type":"string","description":"Equipment slots in the supported game version; Count and None sentinels are excluded.","x-enumNames":["Head","Chest","Hands","Feet","BiomeBadge","BiomeBadge2","BiomeBadge3","BiomeBadge4","ClothingHead","ClothingChest","ClothingHands","ClothingFeet","Backpack"],"enum":["Head","Chest","Hands","Feet","BiomeBadge","BiomeBadge2","BiomeBadge3","BiomeBadge4","ClothingHead","ClothingChest","ClothingHands","ClothingFeet","Backpack"]},"GameAmmoState":{"type":"object","additionalProperties":false,"required":["selectedAmmoTypeIndex"],"properties":{"selectedAmmoTypeIndex":{"type":"integer","format":"int32"},"selectedAmmoItemName":{"type":"string","nullable":true}}},"InventoryModificationResponse":{"type":"object","description":"Represents an installed modification with captured, language-independent metadata\nand a request-local localized display name.","additionalProperties":false,"required":["slot","itemName","displayName","isMod","isBlock"],"properties":{"slot":{"type":"integer","format":"int32"},"itemName":{"type":"string"},"displayName":{"type":"string"},"iconName":{"type":"string","nullable":true},"iconColor":{"type":"string","nullable":true},"maxStackSize":{"type":"integer","format":"int32","nullable":true},"quality":{"type":"integer","format":"int32","nullable":true},"qualityColor":{"type":"string","nullable":true},"isMod":{"type":"boolean"},"isBlock":{"type":"boolean"}}},"PlayerInventoryMode":{"type":"string","description":"Controls which inventory sources may satisfy a player inventory request.","x-enumNames":["Auto","Live","Saved"],"enum":["Auto","Live","Saved"]},"GetPlayerSkillsResponse":{"type":"object","description":"Best available player progression together with source and freshness metadata.","additionalProperties":false,"required":["playerId","source","observedAt","level","experience","experienceToNextLevel","skillPoints","skills"],"properties":{"playerId":{"type":"string"},"entityId":{"type":"integer","format":"int32","nullable":true},"source":{"$ref":"#/components/schemas/PlayerSkillsSource"},"persistedAt":{"type":"string","format":"date-time","nullable":true},"observedAt":{"type":"string","format":"date-time"},"level":{"type":"integer","format":"int32"},"experience":{"type":"integer","format":"int32"},"experienceToNextLevel":{"type":"integer","format":"int32"},"skillPoints":{"type":"integer","format":"int32"},"language":{"type":"string","description":"Resolved BCP 47 response language; null when no loaded language can be selected.","nullable":true},"skills":{"type":"array","items":{"$ref":"#/components/schemas/PlayerSkillResponse"}}}},"PlayerSkillsSource":{"type":"string","description":"Identifies the source that satisfied a player skills request.","x-enumNames":["Live","Snapshot","SaveFile"],"enum":["Live","Snapshot","SaveFile"]},"PlayerSkillResponse":{"type":"object","additionalProperties":false,"required":["key","type","level","minLevel","maxLevel","costForNextLevel","sortOrder","isHidden","isEnabled","displayName"],"properties":{"key":{"type":"string"},"parentKey":{"type":"string","nullable":true},"type":{"$ref":"#/components/schemas/GamePlayerSkillType"},"level":{"type":"integer","format":"int32"},"calculatedLevel":{"type":"integer","format":"int32","nullable":true},"minLevel":{"type":"integer","format":"int32"},"maxLevel":{"type":"integer","format":"int32"},"costForNextLevel":{"type":"integer","format":"int32"},"iconName":{"type":"string","nullable":true},"nameKey":{"type":"string","nullable":true},"descriptionKey":{"type":"string","nullable":true},"longDescriptionKey":{"type":"string","nullable":true},"sortOrder":{"type":"number","format":"float"},"isHidden":{"type":"boolean"},"isEnabled":{"type":"boolean"},"displayName":{"type":"string"},"description":{"type":"string","nullable":true},"longDescription":{"type":"string","nullable":true}}},"GamePlayerSkillType":{"type":"string","description":"Classifies a progression entry without exposing the game's runtime enum.","x-enumNames":["Unknown","None","Attribute","Skill","Perk","BookGroup","Book","Crafting"],"enum":["Unknown","None","Attribute","Skill","Perk","BookGroup","Book","Crafting"]},"PlayerSkillsMode":{"type":"string","description":"","x-enumNames":["Auto","Live","Saved"],"enum":["Auto","Live","Saved"]},"ServerControlResponse":{"type":"object","additionalProperties":false,"required":["state","requestedAction","message"],"properties":{"state":{"type":"string"},"requestedAction":{"type":"string"},"message":{"type":"string"}}},"ListWhitelistResponse":{"type":"object","additionalProperties":false,"required":["entries"],"properties":{"enabled":{"type":"boolean"},"entries":{"type":"array","items":{"$ref":"#/components/schemas/WhitelistListItem"}}}},"WhitelistListItem":{"type":"object","additionalProperties":false,"required":["playerId"],"properties":{"playerId":{"type":"string"},"displayName":{"type":"string","nullable":true}}},"SetWhitelistRequest":{"type":"object","additionalProperties":false,"properties":{"displayName":{"type":"string","description":"Optional native whitelist display name, at most 128 characters.","nullable":true}}},"GameWhitelistBatchResult":{"type":"object","additionalProperties":false,"required":["succeededCount","failedCount","items"],"properties":{"succeededCount":{"type":"integer","format":"int32"},"failedCount":{"type":"integer","format":"int32"},"items":{"type":"array","items":{"$ref":"#/components/schemas/GameWhitelistBatchItemResult"}}}},"GameWhitelistBatchItemResult":{"type":"object","additionalProperties":false,"required":["playerId","status"],"properties":{"playerId":{"type":"string"},"status":{"$ref":"#/components/schemas/GameWhitelistOperationStatus"},"error":{"type":"string","nullable":true}}},"GameWhitelistOperationStatus":{"type":"string","description":"Outcome of a native player-whitelist mutation.","x-enumNames":["Succeeded","InvalidPlayerId","NotFound","Failed"],"enum":["Succeeded","InvalidPlayerId","NotFound","Failed"]},"BatchSetWhitelistRequest":{"type":"object","additionalProperties":false,"properties":{"entries":{"type":"array","nullable":true,"items":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/BatchSetWhitelistItem"}]}}}},"BatchSetWhitelistItem":{"type":"object","additionalProperties":false,"properties":{"playerId":{"type":"string","nullable":true},"request":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/SetWhitelistRequest"}]}}},"BatchRemoveWhitelistRequest":{"type":"object","additionalProperties":false,"properties":{"playerIds":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}}}},"WebhookResponse":{"type":"object","description":"Administrator-safe endpoint view; excludes signing secrets and custom header values.","additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"},"url":{"type":"string"},"enabled":{"type":"boolean"},"eventTypes":{"type":"array","items":{"type":"string"}},"signatureEnabled":{"type":"boolean"},"hasSecret":{"type":"boolean"},"customHeaderNames":{"type":"array","items":{"type":"string"}},"lastDelivery":{"description":"Process-local most recent completed delivery; resets when the Mod restarts.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/WebhookDeliveryResponse"}]},"droppedEvents":{"type":"integer","description":"Process-local count of events rejected by the endpoint's bounded queue.","format":"int64"}}},"WebhookDeliveryResponse":{"type":"object","additionalProperties":false,"properties":{"deliveryId":{"type":"string"},"eventType":{"type":"string"},"completedAt":{"type":"string","format":"date-time"},"succeeded":{"type":"boolean"},"httpStatus":{"type":"integer","format":"int32","nullable":true},"attempts":{"type":"integer","format":"int32"},"elapsedMs":{"type":"integer","format":"int64"},"failureCategory":{"type":"string","description":"Safe diagnostic category only; never contains response bodies, target URLs or credentials.","nullable":true}}},"WebhookEventType":{"type":"object","description":"Transport-neutral event selection metadata. Names match the shared SSE event stream.","additionalProperties":false,"properties":{"name":{"type":"string"},"category":{"type":"string"},"highVolume":{"type":"boolean"},"containsPlayerData":{"type":"boolean"}}},"WebhookSaveResponse":{"type":"object","description":"A generated secret is shown only by this write response, never by the ordinary read APIs.","additionalProperties":false,"properties":{"endpoint":{"$ref":"#/components/schemas/WebhookResponse"},"signingSecret":{"type":"string","nullable":true}}},"WebhookRequest":{"type":"object","description":"Replaces endpoint settings. Header values omitted on update retain their existing value by case-insensitive name.","additionalProperties":false,"properties":{"name":{"type":"string"},"url":{"type":"string"},"enabled":{"type":"boolean"},"eventTypes":{"type":"array","items":{"type":"string"}},"signatureEnabled":{"type":"boolean"},"customHeaders":{"type":"array","description":"Null preserves all existing headers; an empty array clears them. Values are never returned by reads.","nullable":true,"items":{"$ref":"#/components/schemas/WebhookHeaderRequest"}}}},"WebhookHeaderRequest":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string"},"value":{"type":"string","description":"Null retains the existing value. An empty string sets an explicitly empty value.","nullable":true}}},"GameServerStatusResponse":{"type":"object","description":"Identifies the running 7DPanel API instance and its game-server lifecycle state.","additionalProperties":false,"required":["state"],"properties":{"instanceId":{"type":"string","description":"Changes whenever the module is loaded into a new process or application domain."},"state":{"description":"Indicates whether game-dependent operations can currently run.","oneOf":[{"$ref":"#/components/schemas/GameServerLifecycleState"}]}}},"GameServerLifecycleState":{"type":"string","description":"Describes whether the hosting game server can serve game-dependent operations.","x-enumNames":["Initializing","Ready"],"enum":["Initializing","Ready"]},"GameServerStatisticsSnapshot":{"type":"object","description":"Detached server, world, and process metrics captured on the native game thread.","additionalProperties":false,"required":["capturedAt","uptime","gameTime","animals","zombies","entities","onlinePlayers","historyPlayers","offlinePlayers","isBloodMoon","fps","heap","maxHeap","chunks","chunkGameObjects","items","chunkObservedEntities","residentSetSize","configuration"],"properties":{"capturedAt":{"type":"string","description":"UTC instant at which this snapshot was captured.","format":"date-time"},"uptime":{"type":"number","description":"Game runtime elapsed time reported by Unity since the current level loaded.","format":"float"},"gameTime":{"$ref":"#/components/schemas/GameServerGameTime"},"animals":{"type":"integer","format":"int32"},"zombies":{"type":"integer","format":"int32"},"entities":{"type":"integer","format":"int32"},"onlinePlayers":{"type":"integer","format":"int32"},"historyPlayers":{"type":"integer","format":"int32"},"offlinePlayers":{"type":"integer","format":"int32"},"isBloodMoon":{"type":"boolean"},"fps":{"type":"number","format":"float"},"heap":{"type":"number","format":"float"},"maxHeap":{"type":"number","format":"float"},"chunks":{"type":"integer","format":"int32"},"chunkGameObjects":{"type":"integer","format":"int32"},"items":{"type":"integer","format":"int32"},"chunkObservedEntities":{"type":"integer","format":"int32"},"residentSetSize":{"type":"number","format":"float"},"configuration":{"$ref":"#/components/schemas/GameServerConfigurationSnapshot"}}},"GameServerGameTime":{"type":"object","description":"Decomposed in-game world time captured with a server statistics snapshot.","additionalProperties":false,"required":["days","hours","minutes"],"properties":{"days":{"type":"integer","format":"int32"},"hours":{"type":"integer","format":"int32"},"minutes":{"type":"integer","format":"int32"}}},"GameServerConfigurationSnapshot":{"type":"object","description":"Server configuration captured after the native game server has completed startup.","additionalProperties":false,"required":["serverName","region","language","serverVersion","serverIp","serverPort","gameMode","gameWorld","gameName","gameDifficulty","maxZombies","maxAnimals","maxOnlinePlayers"],"properties":{"serverName":{"type":"string"},"serverDescription":{"type":"string","description":"Native server-list description captured at startup, before any player-center override."},"serverLoginConfirmationText":{"type":"string","description":"Native join-confirmation text captured at startup, before any player-center override or display formatting."},"region":{"type":"string"},"language":{"type":"string"},"serverVersion":{"type":"string"},"serverIp":{"type":"string"},"serverPort":{"type":"integer","format":"int32"},"gameMode":{"type":"string"},"gameWorld":{"type":"string"},"gameName":{"type":"string"},"gameDifficulty":{"type":"integer","format":"int32"},"maxZombies":{"type":"integer","format":"int32"},"maxAnimals":{"type":"integer","format":"int32"},"maxOnlinePlayers":{"type":"integer","format":"int32"}}},"ServerInformationConfigurationResponse":{"type":"object","description":"Administrator editing data, including startup native defaults and effective player-center text.","additionalProperties":false,"required":["description","rules"],"properties":{"descriptionOverride":{"type":"string","description":"Saved override; null selects the native startup description.","nullable":true},"nativeDescription":{"type":"string","description":"Null while a native startup snapshot is unavailable.","nullable":true},"description":{"type":"string","description":"Effective plain text after applying the override or native fallback."},"rulesOverride":{"type":"string","description":"Saved website override; null inherits native rules, while an empty string suppresses them.","nullable":true},"nativeRules":{"type":"string","description":"Startup join-confirmation text formatted for plain-text display; null while the native snapshot is unavailable.","nullable":true},"rules":{"type":"string","description":"Effective plain-text rules or join notices; viewing them does not record native join acceptance."},"updatedAt":{"type":"string","description":"UTC time of the last successful replacement, shared across saves.","format":"date-time"}}},"ServerInformationConfigurationRequest":{"type":"object","description":"Replaces server-wide player-center text without modifying native configuration or selecting a save.","additionalProperties":false,"properties":{"descriptionOverride":{"type":"string","description":"Plain text; null or whitespace restores the native description.","nullable":true},"rulesOverride":{"type":"string","description":"Plain multiline rules; null inherits the native join-confirmation text, while an empty string explicitly clears the website text.","nullable":true}}},"PlayerServerInformationResponse":{"type":"object","description":"Player-safe server text and aggregate presence; no player list or native configuration details.","additionalProperties":false,"required":["description","rules"],"properties":{"serverName":{"type":"string","description":"Null before native startup metadata is available.","nullable":true},"description":{"type":"string","description":"Effective plain text after applying the server-wide override or native fallback."},"rules":{"type":"string","description":"Effective plain-text rules or join notices, without recording native join acceptance."},"onlinePlayers":{"type":"integer","description":"Count from the current online-player cache; null when the game is not ready.","format":"int32","nullable":true},"maxOnlinePlayers":{"type":"integer","description":"Native configured capacity; null before the startup snapshot is available.","format":"int32","nullable":true}}},"TeleportPlayerToPositionRequest":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"integer","format":"int32","nullable":true},"y":{"type":"integer","format":"int32","nullable":true},"z":{"type":"integer","format":"int32","nullable":true},"viewDirection":{"type":"string","description":"Optional north, northeast, east, southeast, south, southwest, west, or northwest facing direction.","nullable":true}}},"TeleportPlayerToPlayerRequest":{"type":"object","additionalProperties":false,"properties":{"targetPlayerIdOrName":{"type":"string","description":"Online target entity ID, combined platform ID, or exact player name.","nullable":true}}},"ResetPlayerProfileResponse":{"type":"object","additionalProperties":false,"required":["playerId","resetAt","archiveId","archivedArtifacts"],"properties":{"playerId":{"type":"string"},"wasOnline":{"type":"boolean"},"wasKicked":{"type":"boolean"},"resetAt":{"type":"string","format":"date-time"},"archiveId":{"type":"string"},"archivedArtifacts":{"type":"array","items":{"type":"string"}},"snapshotProjectionCleared":{"type":"boolean"},"recoveryAttempted":{"type":"boolean"},"recoverySucceeded":{"type":"boolean"},"manualRecoveryRequired":{"type":"boolean"}}},"ResetPlayerProfileRequest":{"type":"object","additionalProperties":false,"properties":{"kickIfOnline":{"type":"boolean"},"kickReason":{"type":"string","nullable":true}}},"GameOfflinePlayerLocationSnapshot":{"type":"object","description":"A complete detached observation of players currently marked offline by the game.","additionalProperties":false,"required":["capturedAt","players"],"properties":{"capturedAt":{"type":"string","description":"UTC time at which the complete observation finished.","format":"date-time"},"players":{"type":"array","description":"Offline players ordered by canonical player identifier.","items":{"$ref":"#/components/schemas/GameOfflinePlayerLocation"}}}},"GameOfflinePlayerLocation":{"type":"object","description":"A detached last-known location for one player currently marked offline by the game.","additionalProperties":false,"required":["playerId","platformId","name","position"],"properties":{"playerId":{"type":"string","description":"Canonical cross-platform player identifier."},"platformId":{"type":"string","description":"Native platform identifier; empty when unavailable."},"name":{"type":"string","description":"Last display name retained by the persistent player list."},"position":{"description":"Last block position retained by the game for reconnect and administrative use.","oneOf":[{"$ref":"#/components/schemas/GamePosition"}]},"lastSeenAt":{"type":"string","description":"Last activity time retained by the game and converted to UTC; null when unavailable.","format":"date-time","nullable":true}}},"KickPlayerRequest":{"type":"object","additionalProperties":false,"properties":{"reason":{"type":"string","nullable":true}}},"PlayerItemGrantAcceptedResponse":{"type":"object","description":"Summarizes native collection packages sent by an accepted item grant.","additionalProperties":false,"required":["recipientCount","stackCount"],"properties":{"recipientCount":{"type":"integer","description":"Number of online players that received collection packages.","format":"int32"},"stackCount":{"type":"integer","description":"Total number of native-sized stacks sent across all recipients.","format":"int32"}}},"PlayerItemGrantRequest":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","description":"Case-insensitive internal item or block name.","nullable":true},"count":{"type":"integer","description":"Total quantity; the server splits it into native-sized stacks.","format":"int32"},"quality":{"type":"integer","description":"Optional quality tier from 1 through 6.","format":"int32","nullable":true},"durabilityPercent":{"type":"number","description":"Optional remaining durability percentage greater than zero and at most 100.","format":"float","nullable":true},"mods":{"type":"array","description":"Optional internal names of functional modifications to install.","nullable":true,"items":{"type":"string"}}}},"RemoveInventoryItemsResponse":{"type":"object","additionalProperties":false,"required":["playerId","itemName","mode","removedCount","affectedStackCount","remainingMatchingCount","observedAt"],"properties":{"playerId":{"type":"string"},"itemName":{"type":"string"},"mode":{"$ref":"#/components/schemas/GamePlayerInventoryRemovalMode"},"container":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/GamePlayerInventoryContainer"}]},"slot":{"type":"integer","format":"int32","nullable":true},"removedCount":{"type":"integer","format":"int32"},"affectedStackCount":{"type":"integer","format":"int32"},"remainingMatchingCount":{"type":"integer","format":"int32"},"observedAt":{"type":"string","description":"UTC last-write observation of the verified native player save.","format":"date-time"}}},"GamePlayerInventoryRemovalMode":{"type":"string","description":"","x-enumNames":["AllMatching","SelectedSlot"],"enum":["AllMatching","SelectedSlot"]},"GamePlayerInventoryContainer":{"type":"string","description":"","x-enumNames":["Backpack","Belt"],"enum":["Backpack","Belt"]},"RemoveInventoryItemsAcceptedResponse":{"type":"object","additionalProperties":false,"required":["playerId","playerName","itemName"],"properties":{"playerId":{"type":"string"},"playerName":{"type":"string"},"itemName":{"type":"string"},"mode":{"$ref":"#/components/schemas/GamePlayerInventoryRemovalMode"}}},"RemoveInventoryItemsRequest":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","nullable":true},"mode":{"$ref":"#/components/schemas/GamePlayerInventoryRemovalMode"},"container":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/GamePlayerInventoryContainer"}]},"slot":{"type":"integer","format":"int32","nullable":true},"count":{"type":"integer","description":"Exact quantity to remove; omission removes every selected unit.","format":"int32","nullable":true}}},"GetGameModsResponse":{"type":"object","additionalProperties":false,"required":["capturedAt","mods"],"properties":{"capturedAt":{"type":"string","format":"date-time"},"mods":{"type":"array","items":{"$ref":"#/components/schemas/GameModResponse"}}}},"GameModResponse":{"type":"object","description":"One installed or attempted Mod and its current process load state.","additionalProperties":false,"required":["id","folderName","source","status","assemblyCount","isGameConfigMod"],"properties":{"id":{"type":"string"},"folderName":{"type":"string"},"source":{"type":"string"},"installedAt":{"type":"string","description":"File-system creation time of the Mod directory, in UTC; null when unavailable.","format":"date-time","nullable":true},"displayName":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"author":{"type":"string","nullable":true},"version":{"type":"string","nullable":true},"website":{"type":"string","nullable":true},"status":{"type":"string"},"loadState":{"type":"string","nullable":true},"assemblyCount":{"type":"integer","format":"int32"},"isGameConfigMod":{"type":"boolean"}}},"GameMapMetadata":{"type":"object","description":"Describes the native map tile pyramid for the current world.","additionalProperties":false,"required":["enabled","tileSize","minZoom","maxZoom","chunkSize","regionSize","bounds"],"properties":{"enabled":{"type":"boolean"},"tileSize":{"type":"integer","format":"int32"},"minZoom":{"type":"integer","format":"int32"},"maxZoom":{"type":"integer","format":"int32"},"chunkSize":{"type":"integer","format":"int32"},"regionSize":{"type":"integer","format":"int32"},"bounds":{"$ref":"#/components/schemas/GameMapBounds"}}},"GameMapBounds":{"type":"object","description":"Defines the horizontal world-coordinate extent covered by the current game world.","additionalProperties":false,"required":["minX","minZ","maxX","maxZ"],"properties":{"minX":{"type":"integer","format":"int32"},"minZ":{"type":"integer","format":"int32"},"maxX":{"type":"integer","format":"int32"},"maxZ":{"type":"integer","format":"int32"}}},"PlayerMapConfiguration":{"type":"object","description":"Server-wide player-map disclosure policy; it does not change native rendering or management access.","additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Whether authenticated players may read the rendered map and their live position."},"showOtherPlayers":{"type":"boolean","description":"Whether the player map may also disclose other connected players' current positions."},"updatedAt":{"type":"string","description":"UTC time the policy was last saved; shared across world saves.","format":"date-time"}}},"PlayerMapConfigurationRequest":{"type":"object","description":"Replaces both player-map switches independently of native map rendering.","additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Opens or closes player map and position reads, without affecting management endpoints."},"showOtherPlayers":{"type":"boolean","description":"Opt-in disclosure of other online positions; effective only while the player map is enabled."}}},"PlayerMapResponse":{"type":"object","description":"Player-safe map policy and currently available native tile layout.","additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Whether the player map is open, irrespective of game readiness and native rendering."},"showOtherPlayers":{"type":"boolean","description":"Whether other online positions are permitted by the current policy."},"metadata":{"description":"Null when the player map is closed or the game is not ready; Enabled within metadata describes native rendering.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/GameMapMetadata"}]}}},"PlayerMapPlayersResponse":{"type":"object","description":"Current permitted player markers; membership comes from the token and disclosure policy.","additionalProperties":false,"required":["players"],"properties":{"capturedAt":{"type":"string","description":"UTC native batch capture time, used to identify stale displayed locations.","format":"date-time"},"players":{"type":"array","description":"The token owner plus other connected players only when explicitly permitted.","items":{"$ref":"#/components/schemas/PlayerMapPlayerResponse"}}}},"PlayerMapPlayerResponse":{"type":"object","description":"Minimal display data for one permitted online player.","additionalProperties":false,"required":["playerId","name","position"],"properties":{"playerId":{"type":"string","description":"Stable marker key; no request parameter can change the token owner's identity."},"name":{"type":"string","description":"Display name, rendered as plain text."},"position":{"description":"Current native world coordinates, not the last saved snapshot.","oneOf":[{"$ref":"#/components/schemas/GamePosition"}]},"isCurrentPlayer":{"type":"boolean","description":"Whether this marker belongs to the authenticated player."}}},"GameServerLogSnapshot":{"type":"object","description":"Returns an ordered window from the native in-memory server log.","additionalProperties":false,"properties":{"oldestId":{"type":"integer","description":"Gets the oldest ID still available, or null when the buffer is empty.","format":"int32","nullable":true},"latestId":{"type":"integer","description":"Gets the latest ID available, or null when the buffer is empty.","format":"int32","nullable":true},"entries":{"type":"array","description":"Gets entries ordered by ascending process-local ID.","items":{"$ref":"#/components/schemas/GameServerLogEntry"}}}},"GameServerLogEntry":{"type":"object","description":"Represents one detached entry from the dedicated server's native console log.","additionalProperties":false,"required":["id","observedAt","uptimeMilliseconds","level","message"],"properties":{"id":{"type":"integer","description":"Gets the process-local sequence assigned by the native log buffer.","format":"int32"},"observedAt":{"type":"string","description":"Gets the UTC time at which the game recorded the entry.","format":"date-time"},"uptimeMilliseconds":{"type":"integer","description":"Gets the game process uptime in milliseconds when the entry was recorded.","format":"int64"},"level":{"description":"Gets the normalized severity.","oneOf":[{"$ref":"#/components/schemas/GameServerLogLevel"}]},"message":{"type":"string","description":"Gets the unformatted log message."},"stackTrace":{"type":"string","description":"Gets the associated stack trace when the native logger supplied one.","nullable":true}}},"GameServerLogLevel":{"type":"string","description":"Stable severity levels independent of Unity's native log enum values.","x-enumNames":["Unknown","Information","Warning","Error","Assert","Exception"],"enum":["Unknown","Information","Warning","Error","Assert","Exception"]},"GetLandClaimContainersResponse":{"type":"object","description":"Localized list of player storage containers found in loaded chunks.","additionalProperties":false,"required":["capturedAt","containers"],"properties":{"capturedAt":{"type":"string","format":"date-time"},"language":{"type":"string","nullable":true},"containers":{"type":"array","items":{"$ref":"#/components/schemas/LandClaimContainerResponse"}}}},"LandClaimContainerResponse":{"type":"object","description":"Localized response projection for one loaded player storage container.","additionalProperties":false,"required":["position","blockName","displayName","landClaimOwnerPlayerId","landClaimOwnerName","isUserAccessing","slotCount","itemCount","isLoaded"],"properties":{"position":{"$ref":"#/components/schemas/GamePosition"},"blockName":{"type":"string"},"displayName":{"type":"string"},"containerOwnerPlayerId":{"type":"string","nullable":true},"containerOwnerName":{"type":"string","nullable":true},"landClaimOwnerPlayerId":{"type":"string"},"landClaimOwnerName":{"type":"string"},"isLocked":{"type":"boolean","nullable":true},"hasPassword":{"type":"boolean","nullable":true},"isUserAccessing":{"type":"boolean"},"slotCount":{"type":"integer","format":"int32"},"itemCount":{"type":"integer","format":"int32"},"isLoaded":{"type":"boolean"}}},"GetLandClaimContainerInventoryResponse":{"type":"object","description":"Localized inventory snapshot for one loaded player storage container.","additionalProperties":false,"required":["container","items","observedAt"],"properties":{"container":{"$ref":"#/components/schemas/LandClaimContainerResponse"},"language":{"type":"string","nullable":true},"items":{"type":"array","items":{"$ref":"#/components/schemas/InventoryItemResponse"}},"observedAt":{"type":"string","format":"date-time"}}},"RemoveLandClaimsResponse":{"type":"object","additionalProperties":false,"required":["playerId","removedCount","removedPositions"],"properties":{"playerId":{"type":"string"},"removedCount":{"type":"integer","format":"int32"},"removedPositions":{"type":"array","items":{"$ref":"#/components/schemas/GamePosition"}}}},"RemoveLandClaimResponse":{"type":"object","additionalProperties":false,"required":["position","ownerPlayerId","removed"],"properties":{"position":{"$ref":"#/components/schemas/GamePosition"},"ownerPlayerId":{"type":"string"},"removed":{"type":"boolean"}}},"GetLandClaimsResponse":{"type":"object","description":"Registered land claims and the settings needed to render their protected areas.","additionalProperties":false,"required":["capturedAt","claimSize","maxClaimsPerPlayer","expiryDays","claims"],"properties":{"capturedAt":{"type":"string","format":"date-time"},"claimSize":{"type":"integer","format":"int32"},"maxClaimsPerPlayer":{"type":"integer","format":"int32"},"expiryDays":{"type":"integer","format":"int32"},"claims":{"type":"array","items":{"$ref":"#/components/schemas/LandClaimResponse"}}}},"LandClaimResponse":{"type":"object","description":"One registered land claim and its owner state.","additionalProperties":false,"required":["position","bounds","isProtectionActive","ownerPlayerId","ownerPlatformId","ownerName","ownerIsOnline"],"properties":{"position":{"$ref":"#/components/schemas/GamePosition"},"bounds":{"$ref":"#/components/schemas/GameLandClaimBounds"},"isProtectionActive":{"type":"boolean"},"ownerPlayerId":{"type":"string"},"ownerPlatformId":{"type":"string"},"ownerName":{"type":"string"},"ownerEntityId":{"type":"integer","format":"int32","nullable":true},"ownerIsOnline":{"type":"boolean"}}},"GameLandClaimBounds":{"type":"object","description":"Inclusive horizontal block bounds protected by a registered land claim.","additionalProperties":false,"required":["minX","maxX","minZ","maxZ"],"properties":{"minX":{"type":"integer","format":"int32"},"maxX":{"type":"integer","format":"int32"},"minZ":{"type":"integer","format":"int32"},"maxZ":{"type":"integer","format":"int32"}}},"GameEntityLocationSnapshot":{"type":"object","description":"A complete detached result from one best-effort scan of loaded entities.","additionalProperties":false,"required":["capturedAt","entities"],"properties":{"capturedAt":{"type":"string","description":"UTC time at which the scan completed.","format":"date-time"},"entities":{"type":"array","description":"Loaded entities eligible for location reporting and observed during the scan.","items":{"$ref":"#/components/schemas/GameEntityLocation"}}}},"GameEntityLocation":{"type":"object","description":"A detached best-effort observation of one loaded entity.","additionalProperties":false,"required":["entityId","type","name","entityClassId","entityClassName","position"],"properties":{"entityId":{"type":"integer","description":"Runtime identifier valid only while the entity remains loaded in the current world.","format":"int32"},"type":{"description":"Stable API category explicitly mapped from the native entity identity.","oneOf":[{"$ref":"#/components/schemas/GameEntityType"}]},"name":{"type":"string","description":"Current entity display name, falling back to its definition name when unavailable."},"entityClassId":{"type":"integer","description":"Numeric identifier of the entity definition in the running game.","format":"int32"},"entityClassName":{"type":"string","description":"Internal entity definition name supplied by the game or a Mod."},"playerId":{"type":"string","description":"Canonical cross-platform player identifier when the entity is a connected player.","nullable":true},"position":{"description":"Observed world position; coordinates may change immediately after capture.","oneOf":[{"$ref":"#/components/schemas/GamePosition"}]}}},"GameEntityType":{"type":"string","description":"Stable entity categories exposed independently of native enum values and CLR type names.","x-enumNames":["Unknown","Player","Zombie","Animal","Bandit","Vehicle","Drone","Trader"],"enum":["Unknown","Player","Zombie","Animal","Bandit","Vehicle","Drone","Trader"]},"GetVehicleLocationsResponse":{"type":"object","description":"All vehicles known to the native vehicle manager at one point in time.","additionalProperties":false,"required":["capturedAt","vehicles"],"properties":{"capturedAt":{"type":"string","format":"date-time"},"language":{"type":"string","nullable":true},"vehicles":{"type":"array","items":{"$ref":"#/components/schemas/VehicleLocationResponse"}}}},"VehicleLocationResponse":{"type":"object","description":"Current or last-known position and available runtime state for one tracked vehicle.","additionalProperties":false,"required":["entityId","entityName","vehicleName","displayName","position","isLoaded"],"properties":{"entityId":{"type":"integer","format":"int32"},"entityName":{"type":"string"},"vehicleName":{"type":"string"},"displayName":{"type":"string"},"position":{"$ref":"#/components/schemas/GamePosition"},"isLoaded":{"type":"boolean"},"hasStorage":{"type":"boolean","nullable":true},"isLocked":{"type":"boolean","nullable":true},"fuelPercent":{"type":"number","format":"float","nullable":true},"quality":{"type":"integer","format":"int32","nullable":true},"ownerPlayerId":{"type":"string","nullable":true},"ownerName":{"type":"string","nullable":true},"ownerEntityId":{"type":"integer","format":"int32","nullable":true},"storageItemCount":{"type":"integer","format":"int32","nullable":true}}},"GetVehicleInventoryResponse":{"type":"object","description":"Localized inventory snapshot for one currently loaded vehicle.","additionalProperties":false,"required":["entityId","vehicleName","isLoaded","hasStorage","items","observedAt"],"properties":{"entityId":{"type":"integer","format":"int32"},"vehicleName":{"type":"string"},"isLoaded":{"type":"boolean"},"hasStorage":{"type":"boolean"},"language":{"type":"string","nullable":true},"items":{"type":"array","items":{"$ref":"#/components/schemas/InventoryItemResponse"}},"observedAt":{"type":"string","format":"date-time"}}},"GetDroneLocationsResponse":{"type":"object","description":"All drones known to the native drone manager at one point in time.","additionalProperties":false,"required":["capturedAt","drones"],"properties":{"capturedAt":{"type":"string","format":"date-time"},"language":{"type":"string","nullable":true},"drones":{"type":"array","items":{"$ref":"#/components/schemas/DroneLocationResponse"}}}},"DroneLocationResponse":{"type":"object","description":"Current or last-known position and ownership for one tracked drone.","additionalProperties":false,"required":["entityId","entityName","displayName","position","isLoaded"],"properties":{"entityId":{"type":"integer","format":"int32"},"entityName":{"type":"string"},"displayName":{"type":"string"},"position":{"$ref":"#/components/schemas/GamePosition"},"isLoaded":{"type":"boolean"},"ownerPlayerId":{"type":"string","nullable":true},"ownerName":{"type":"string","nullable":true},"ownerEntityId":{"type":"integer","format":"int32","nullable":true}}},"GetTraderLocationsResponse":{"type":"object","description":"All trader POI areas registered in the current world at one point in time.","additionalProperties":false,"required":["capturedAt","traders"],"properties":{"capturedAt":{"type":"string","format":"date-time"},"language":{"type":"string","nullable":true},"traders":{"type":"array","items":{"$ref":"#/components/schemas/TraderLocationResponse"}}}},"TraderLocationResponse":{"type":"object","description":"A trader POI marker that remains available when its trader entity is unloaded.","additionalProperties":false,"required":["markerId","displayName","position","areaPosition","areaSize","protectPosition","protectSize","isClosed","isLoaded"],"properties":{"markerId":{"type":"string"},"entityId":{"type":"integer","format":"int32","nullable":true},"entityName":{"type":"string","nullable":true},"prefabName":{"type":"string","nullable":true},"prefabDefinitionName":{"type":"string","nullable":true},"localizationKey":{"type":"string","nullable":true},"displayName":{"type":"string"},"position":{"$ref":"#/components/schemas/GamePosition"},"areaPosition":{"$ref":"#/components/schemas/GamePosition"},"areaSize":{"$ref":"#/components/schemas/GamePosition"},"protectPosition":{"$ref":"#/components/schemas/GamePosition"},"protectSize":{"$ref":"#/components/schemas/GamePosition"},"isClosed":{"type":"boolean"},"isLoaded":{"type":"boolean"}}},"ListItemDefinitionsResponse":{"type":"object","additionalProperties":false,"required":["capturedAt","items"],"properties":{"capturedAt":{"type":"string","format":"date-time"},"items":{"type":"array","items":{"$ref":"#/components/schemas/ItemDefinitionResponse"}}}},"ItemDefinitionResponse":{"type":"object","description":"A non-block item definition with request-specific localized text.","additionalProperties":false,"required":["id","name","displayName","iconName","maxStackSize","hasQuality","isMod","creativeMode"],"properties":{"id":{"type":"integer","format":"int32"},"name":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string","nullable":true},"iconName":{"type":"string"},"iconColor":{"type":"string","nullable":true},"maxStackSize":{"type":"integer","format":"int32"},"hasQuality":{"type":"boolean"},"isMod":{"type":"boolean"},"creativeMode":{"type":"string"}}},"ListBlockDefinitionsResponse":{"type":"object","additionalProperties":false,"required":["capturedAt","blocks"],"properties":{"capturedAt":{"type":"string","format":"date-time"},"blocks":{"type":"array","items":{"$ref":"#/components/schemas/BlockDefinitionResponse"}}}},"BlockDefinitionResponse":{"type":"object","description":"A block definition with request-specific localized text, not a placed block.","additionalProperties":false,"required":["id","name","displayName","iconName","maxStackSize","creativeMode"],"properties":{"id":{"type":"integer","format":"int32"},"name":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string","nullable":true},"iconName":{"type":"string"},"iconColor":{"type":"string","nullable":true},"maxStackSize":{"type":"integer","format":"int32"},"creativeMode":{"type":"string"},"materialName":{"type":"string","nullable":true}}},"ListEntityDefinitionsResponse":{"type":"object","description":"Loaded entity classes captured from one immutable game-definition snapshot.","additionalProperties":false,"required":["capturedAt","entities"],"properties":{"capturedAt":{"type":"string","format":"date-time"},"entities":{"type":"array","items":{"$ref":"#/components/schemas/EntityDefinitionResponse"}}}},"EntityDefinitionResponse":{"type":"object","description":"An entity class with request-specific localized display text.","additionalProperties":false,"required":["id","name","displayName","type","isSpawnable","manualSpawnType"],"properties":{"id":{"type":"integer","description":"Runtime entity-class dictionary key; it is diagnostic and must not be persisted.","format":"int32"},"name":{"type":"string","description":"Canonical native entity class name used in reward configuration."},"displayName":{"type":"string"},"type":{"description":"Stable entity category for grouping and filtering independently of localized display names.","oneOf":[{"$ref":"#/components/schemas/GameEntityType"}]},"isSpawnable":{"type":"boolean"},"spawnCommandId":{"type":"integer","description":"Temporary se command ordinal, or null when not spawnable.","format":"int32","nullable":true},"manualSpawnType":{"type":"string"}}},"ListBuffDefinitionsResponse":{"type":"object","description":"Loaded Buff definitions with request-specific localization, including hidden effects.","additionalProperties":false,"required":["capturedAt","buffs"],"properties":{"capturedAt":{"type":"string","description":"UTC time of the process-wide definition capture.","format":"date-time"},"buffs":{"type":"array","items":{"$ref":"#/components/schemas/BuffDefinitionResponse"}}}},"BuffDefinitionResponse":{"type":"object","description":"Describes a native Buff without exposing or mutating its runtime state.","additionalProperties":false,"required":["name","displayName","iconName","stackType"],"properties":{"name":{"type":"string","description":"Canonical internal name used in product configuration; Buffs have no numeric definition ID."},"displayName":{"type":"string"},"description":{"type":"string","nullable":true},"iconName":{"type":"string"},"durationSeconds":{"type":"number","description":"Default duration in seconds; zero means no duration-based expiry.","format":"float"},"stackType":{"type":"string","description":"Native repeat-application policy, not a Shop-specific guarantee."},"hidden":{"type":"boolean"}}},"GameServerConfigurationResponse":{"type":"object","additionalProperties":false,"required":["values"],"properties":{"values":{"type":"object","additionalProperties":{"type":"string"}},"changesRequireRestart":{"type":"boolean"}}},"UpdateGameServerConfigurationResponse":{"type":"object","additionalProperties":false,"required":["updatedProperties","restartRequired"],"properties":{"updatedProperties":{"type":"array","items":{"type":"string"}},"restartRequired":{"type":"boolean"}}},"UpdateGameServerConfigurationRequest":{"type":"object","additionalProperties":false,"properties":{"values":{"type":"object","nullable":true,"additionalProperties":{"type":"string","nullable":true}}}},"ChatMessageTemplatesResponse":{"type":"object","description":"Returns the fixed Chat system-message catalog merged with global overrides.","additionalProperties":false,"required":["language"],"properties":{"requestedLanguage":{"type":"string","description":"Gets the normalized requested language, or null when the active game language was used.","nullable":true},"language":{"type":"string","description":"Gets the embedded resource language selected after fallback."},"availableLanguages":{"type":"array","description":"Gets languages for which Chat embeds default resources.","items":{"type":"string"}},"templates":{"type":"array","description":"Gets every fixed Chat template and its effective content.","items":{"$ref":"#/components/schemas/ChatMessageTemplateResponse"}}}},"ChatMessageTemplateResponse":{"type":"object","description":"Describes one Chat system-message template and its current override.","additionalProperties":false,"required":["key","description","content","defaultContent"],"properties":{"key":{"type":"string","description":"Gets the stable template key."},"description":{"type":"string","description":"Gets the behavior represented by the template."},"content":{"type":"string","description":"Gets the effective override or selected embedded default."},"defaultContent":{"type":"string","description":"Gets the selected embedded default independently of any override."},"isCustomized":{"type":"boolean","description":"Gets whether SQLite currently contains an override."},"updatedAt":{"type":"string","description":"Gets when the override was last changed in UTC, or null for defaults.","format":"date-time","nullable":true},"variables":{"type":"array","description":"Gets the optional variables accepted by this template.","items":{"$ref":"#/components/schemas/ChatMessageTemplateVariableResponse"}}}},"ChatMessageTemplateVariableResponse":{"type":"object","description":"Describes one optional variable accepted by a Chat system-message template.","additionalProperties":false,"required":["name","token","description"],"properties":{"name":{"type":"string","description":"Gets the case-sensitive variable name without braces."},"token":{"type":"string","description":"Gets the exact token inserted into template content."},"description":{"type":"string","description":"Gets the runtime value represented by this variable."},"required":{"type":"boolean","description":"Gets whether saving requires this variable to appear."}}},"ChatMessageTemplateRequest":{"type":"object","description":"Replaces the single global override for one fixed Chat template.","additionalProperties":false,"required":["content"],"properties":{"content":{"type":"string","description":"Gets template content using only variables declared by Chat.","maxLength":500,"minLength":1}}},"ListChatHistoryResponse":{"type":"object","description":"One page of persisted chat observations and its paging metadata.","additionalProperties":false,"required":["items","totalCount","pageNumber","pageSize","hasMore"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ChatHistoryItem"}},"totalCount":{"type":"integer","format":"int64"},"pageNumber":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"hasMore":{"type":"boolean"}}},"ChatHistoryItem":{"type":"object","description":"A persisted, detached chat message observed by the Mod.","additionalProperties":false,"required":["id","observationId","observedAt","senderEntityId","senderType","channel","message"],"properties":{"id":{"type":"integer","description":"Gets the database-local row identifier.","format":"int64"},"observationId":{"type":"string","description":"Gets the stable identifier assigned when the live event was observed.","format":"guid"},"observedAt":{"type":"string","description":"Gets the UTC time at which the Mod observed the native callback.","format":"date-time"},"playerId":{"type":"string","nullable":true},"senderEntityId":{"type":"integer","format":"int32"},"senderName":{"type":"string","nullable":true},"senderType":{"$ref":"#/components/schemas/GameChatSenderType"},"channel":{"$ref":"#/components/schemas/GameChatChannel"},"message":{"type":"string"},"recipientEntityIds":{"type":"array","items":{"type":"integer","format":"int32"}}}},"GameChatSenderType":{"type":"string","description":"Identifies the kind of sender that originated an observed chat message.","x-enumNames":["Unknown","Player","Server"],"enum":["Unknown","Player","Server"]},"GameChatChannel":{"type":"string","description":"Stable chat visibility scopes independent of the game's native enum values.","x-enumNames":["Unknown","Global","Friends","Party","Whisper","Discord"],"enum":["Unknown","Global","Friends","Party","Whisper","Discord"]},"ChatConfigurationResponse":{"type":"object","description":"Returns persisted Chat policy and effective interaction and player-center command metadata.","additionalProperties":false,"required":["defaultGlobalSenderName","defaultPrivateSenderName","commandPrefix","playerPortalCommand"],"properties":{"enabled":{"type":"boolean","description":"Gets whether 7DPanel command handling and history persistence are enabled."},"defaultGlobalSenderName":{"type":"string","description":"Gets the fallback sender label for global messages without an explicit sender."},"defaultPrivateSenderName":{"type":"string","description":"Gets the fallback sender label for private messages without an explicit sender."},"commandPrefix":{"type":"string","description":"Gets the canonical prefix used to recognize and display commands."},"allowPrefixlessCommands":{"type":"boolean","description":"Gets whether registered commands may also be invoked without the prefix."},"excludeRegisteredCommandsFromHistory":{"type":"boolean","description":"Gets whether recognized commands are omitted from history and the chat event stream."},"hideRegisteredCommandMessages":{"type":"boolean","description":"Gets whether recognized commands are hidden from native public chat processing."},"playerPortalCommand":{"description":"Gets player-center command settings independently of button visibility and existing browser sessions.","oneOf":[{"$ref":"#/components/schemas/ChatPlayerPortalCommandResponse"}]},"interactionCommands":{"type":"array","description":"Gets the effective generic-interaction command metadata.","items":{"$ref":"#/components/schemas/ChatInteractionCommandResponse"}},"updatedAt":{"type":"string","description":"Gets the UTC instant when the complete configuration was last replaced.","format":"date-time"}}},"ChatPlayerPortalCommandResponse":{"type":"object","description":"Returns editable player-center routing metadata and the localized description default.","additionalProperties":false,"required":["commandId","name","description"],"properties":{"commandId":{"type":"string","description":"Gets the stable behavior ID used by login guidance."},"enabled":{"type":"boolean","description":"Gets whether this command is enabled independently of global Chat policy."},"name":{"type":"string","description":"Gets the bare command name without the global prefix."},"aliases":{"type":"array","description":"Gets alternative bare command tokens.","items":{"type":"string"}},"description":{"description":"Gets effective text, the selected localized default, and customization state.","oneOf":[{"$ref":"#/components/schemas/ChatCommandDescription"}]},"usage":{"type":"array","description":"Gets fixed argument patterns supplied by the native handler.","items":{"type":"string"}}}},"ChatCommandDescription":{"type":"object","description":"Describes one command's effective text, resource default, and override state.","additionalProperties":false,"properties":{"content":{"type":"string","description":"Gets the text currently shown to players."},"defaultContent":{"type":"string","description":"Gets the localized resource default for the requested language."},"isCustomized":{"type":"boolean","description":"Gets whether a language-independent administrator override is active."}}},"ChatInteractionCommandResponse":{"type":"object","description":"Returns effective metadata for one stable generic-interaction command.","additionalProperties":false,"required":["commandId","name","description"],"properties":{"commandId":{"type":"string","description":"Gets the stable behavior ID, independent of player-facing routing."},"name":{"type":"string","description":"Gets the canonical command token without the configured prefix."},"aliases":{"type":"array","description":"Gets alternative command tokens without the configured prefix.","items":{"type":"string"}},"description":{"description":"Gets the effective, default, and customization state for the command description.","oneOf":[{"$ref":"#/components/schemas/ChatCommandDescription"}]},"usage":{"type":"array","description":"Gets argument patterns supplied by the fixed command behavior.","items":{"type":"string"}}}},"ChatConfigurationRequest":{"type":"object","description":"Defines Chat runtime policy and editable interaction and player-center command metadata.","additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Gets whether 7DPanel command handling and history persistence are enabled."},"defaultGlobalSenderName":{"type":"string","description":"Gets the fallback sender label for global messages without an explicit sender.","nullable":true},"defaultPrivateSenderName":{"type":"string","description":"Gets the fallback sender label for private messages without an explicit sender.","nullable":true},"commandPrefix":{"type":"string","description":"Gets the canonical command prefix; prefixless recognition does not remove this form.","nullable":true},"allowPrefixlessCommands":{"type":"boolean","description":"Gets whether an exact registered command may also be invoked without the prefix."},"excludeRegisteredCommandsFromHistory":{"type":"boolean","description":"Gets whether recognized commands are omitted from history and the chat event stream."},"hideRegisteredCommandMessages":{"type":"boolean","description":"Gets whether recognized commands are hidden from native public chat processing."},"playerPortalCommand":{"description":"Gets player-center login-code command metadata; it does not control the native button or existing sessions.","oneOf":[{"$ref":"#/components/schemas/ChatPlayerPortalCommandRequest"}]},"interactionCommands":{"type":"array","description":"Gets the complete confirm and decline command set to replace atomically.","items":{"$ref":"#/components/schemas/ChatInteractionCommandRequest"}}}},"ChatPlayerPortalCommandRequest":{"type":"object","description":"Configures the player-center chat entry independently of authentication and native entry visibility.","additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Gets whether players can request new login codes through this command."},"name":{"type":"string","description":"Gets the bare name; Chat's global prefix is applied at runtime.","nullable":true},"aliases":{"type":"array","description":"Gets alternative bare tokens subject to global routing conflict checks.","items":{"type":"string"}},"descriptionOverride":{"type":"string","description":"Gets a language-independent override; an empty value restores the Mod's localized description.","nullable":true}}},"ChatInteractionCommandRequest":{"type":"object","description":"Defines editable metadata for one stable generic-interaction behavior.","additionalProperties":false,"properties":{"commandId":{"type":"string","description":"Gets the stable behavior ID, independent of its player-facing name.","nullable":true},"name":{"type":"string","description":"Gets the canonical command token without the configured prefix.","nullable":true},"aliases":{"type":"array","description":"Gets alternative command tokens without the configured prefix.","items":{"type":"string"}},"descriptionOverride":{"type":"string","description":"Gets the optional language-independent description override. An empty value restores\nthe module-owned localized default.","nullable":true}}},"ChatCommandCatalogItemResponse":{"type":"object","description":"Describes one stable chat-command behavior and its effective player-facing route.","additionalProperties":false,"required":["commandId","owner","name"],"properties":{"commandId":{"type":"string","description":"Gets the stable behavior ID, independent of configured names and aliases."},"owner":{"type":"string","description":"Gets the module-owned command namespace derived from the stable ID."},"enabled":{"type":"boolean","description":"Gets whether the command currently participates in routing and generated help."},"name":{"type":"string","description":"Gets the effective canonical token without the configured command prefix."},"aliases":{"type":"array","description":"Gets the effective alternative tokens without the configured command prefix.","items":{"type":"string"}},"description":{"type":"string","description":"Gets the effective purpose shown by generated help."},"usage":{"type":"array","description":"Gets behavior-owned argument patterns, excluding the command token.","items":{"type":"string"}}}},"PlayerChatCommandsResponse":{"type":"object","description":"Player help and command syntax captured together, independently of individual business execution eligibility.","additionalProperties":false,"required":["commandPrefix","items"],"properties":{"enabled":{"type":"boolean","description":"Chat's global runtime switch; false keeps help readable but prevents chat command execution."},"commandPrefix":{"type":"string","description":"Effective prefix to prepend to names and aliases; never assume a fixed slash."},"allowPrefixlessCommands":{"type":"boolean","description":"Whether the same commands may also be entered without the prefix."},"items":{"type":"array","description":"Only enabled and help-visible registrations. Entry enabled flags describe routing, not business availability or the global Chat switch.","items":{"$ref":"#/components/schemas/ChatCommandCatalogItemResponse"}}}},"EconomyScheduledRewardConfigurationResponse":{"type":"object","description":"Returns the effective Economy scheduled-reward configuration.","additionalProperties":false,"required":["cronExpression","timeZone"],"properties":{"enabled":{"type":"boolean","description":"Whether the scheduled reward task is enabled."},"amount":{"type":"integer","description":"Whole units granted per eligible player.","format":"int64"},"cronExpression":{"type":"string","description":"Configured portable five-field Cron expression."},"timeZone":{"type":"string","description":"Configured IANA time-zone identifier."},"updatedAt":{"type":"string","description":"UTC instant when this configuration was last changed.","format":"date-time"}}},"EconomyScheduledRewardConfigurationRequest":{"type":"object","description":"Configures the optional reward granted to every player online at a Cron occurrence.","additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Whether the Economy-owned scheduled task is enabled."},"amount":{"type":"integer","description":"Positive whole units granted per player at one occurrence.","format":"int64"},"cronExpression":{"type":"string","description":"Portable five-field Cron expression.","nullable":true},"timeZone":{"type":"string","description":"IANA time-zone identifier used to evaluate the expression.","nullable":true}}},"EconomyOnlineRewardConfigurationResponse":{"type":"object","description":"Returns the effective Economy online-duration reward configuration.","additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Whether online-duration rewards are enabled."},"intervalMinutes":{"type":"integer","description":"Completed online minutes required for one reward.","format":"int32"},"amount":{"type":"integer","description":"Whole units granted for each completed interval.","format":"int64"},"updatedAt":{"type":"string","description":"UTC instant when this configuration was last changed.","format":"date-time"}}},"EconomyOnlineRewardConfigurationRequest":{"type":"object","description":"Configures the optional recurring reward for accumulated online time.","additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Whether online-duration rewards are enabled."},"intervalMinutes":{"type":"integer","description":"Completed online minutes required for one reward.","format":"int32"},"amount":{"type":"integer","description":"Positive whole units granted for each completed interval.","format":"int64"}}},"ListEconomyMilestonesResponse":{"type":"object","description":"One stable page ordered by metric, threshold, and rule identity.","additionalProperties":false,"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/EconomyMilestoneRule"}},"totalCount":{"type":"integer","format":"int64"},"pageNumber":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"hasMore":{"type":"boolean"}}},"EconomyMilestoneRule":{"type":"object","description":"A global reward rule whose successful claims are scoped to save and player in the ledger.","additionalProperties":false,"required":["id","name"],"properties":{"id":{"type":"string","description":"Stable server-generated identity; editing never resets prior claims."},"name":{"type":"string"},"metric":{"$ref":"#/components/schemas/EconomyMilestoneMetric"},"threshold":{"type":"integer","description":"Positive whole-unit threshold in the metric's canonical unit.","format":"int64"},"amount":{"type":"integer","format":"int64"},"enabled":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"EconomyMilestoneMetric":{"type":"string","description":"Supported cumulative save statistics; thresholds use levels, counts, metres, or seconds.","x-enumNames":["PlayerLevel","ZombieKills","PlayerKills","ItemsCrafted","DistanceTravelled","LongestLife"],"enum":["PlayerLevel","ZombieKills","PlayerKills","ItemsCrafted","DistanceTravelled","LongestLife"]},"EconomyMilestoneRuleRequest":{"type":"object","description":"Creates or replaces rule settings; already-qualified players are checked on their next save.","additionalProperties":false,"properties":{"name":{"type":"string","nullable":true},"metric":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/EconomyMilestoneMetric"}]},"threshold":{"type":"integer","format":"int64"},"amount":{"type":"integer","format":"int64"},"enabled":{"type":"boolean"}}},"EconomyFirstLoginRewardConfigurationResponse":{"type":"object","description":"Returns the effective first-login reward configuration.","additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Whether first-login rewards are enabled."},"amount":{"type":"integer","description":"Whole units granted once per player.","format":"int64"},"updatedAt":{"type":"string","description":"UTC instant when this configuration was last changed.","format":"date-time"}}},"EconomyFirstLoginRewardConfigurationRequest":{"type":"object","description":"Configures the optional one-time reward for a player's first eligible login.","additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Whether first-login rewards are enabled."},"amount":{"type":"integer","description":"Positive whole units granted once per player.","format":"int64"}}},"EconomyBossRewardConfigurationResponse":{"type":"object","description":"Returns the effective Economy boss-defeat reward configuration.","additionalProperties":false,"required":["entityClassNames"],"properties":{"enabled":{"type":"boolean","description":"Whether boss-defeat rewards are enabled."},"amount":{"type":"integer","description":"Whole units granted for one matching boss defeat.","format":"int64"},"entityClassNames":{"type":"array","description":"Configured native entity class names.","items":{"type":"string"}},"updatedAt":{"type":"string","description":"UTC instant when this configuration was last changed.","format":"date-time"}}},"EconomyBossRewardConfigurationRequest":{"type":"object","description":"Configures the optional reward for defeating configured boss entities.","additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Whether boss-defeat rewards are enabled."},"amount":{"type":"integer","description":"Whole units granted for one matching boss defeat.","format":"int64"},"entityClassNames":{"type":"array","description":"Native entity class names that qualify as bosses.","nullable":true,"items":{"type":"string"}}}},"PlayerEconomyLeaderboardResponse":{"type":"object","description":"Public balance ranking and currency metadata, excluding account identifiers and private account details.","additionalProperties":false,"required":["enabled","publicLeaderboardEnabled","currencyName","currencySymbol","items"],"properties":{"enabled":{"type":"boolean","description":"The Economy master switch, independent of public ranking permission."},"publicLeaderboardEnabled":{"type":"boolean","description":"Whether the owner permits players to view the ranking. Both switches must be enabled to return entries."},"currencyName":{"type":"string"},"currencySymbol":{"type":"string"},"items":{"type":"array","description":"Existing accounts ordered by balance descending, then player ID ascending, or an empty list when either switch is off.","items":{"$ref":"#/components/schemas/PlayerEconomyLeaderboardItem"}}}},"PlayerEconomyLeaderboardItem":{"type":"object","description":"A public entry; matching the current player is determined by the bearer token rather than a supplied player ID.","additionalProperties":false,"required":["rank","playerName","balance","isCurrentPlayer"],"properties":{"rank":{"type":"integer","description":"One-based sequential position; equal balances do not share a rank.","format":"int32"},"playerName":{"type":"string","description":"The last display name recorded on the account, including offline accounts."},"balance":{"type":"integer","description":"Current whole currency units.","format":"int64"},"isCurrentPlayer":{"type":"boolean"}}},"PlayerEconomyAccountResponse":{"type":"object","description":"Currency metadata, online-reward rules and a nullable, read-only account. Missing accounts display zero without creation.","additionalProperties":false,"required":["onlineDurationReward"],"properties":{"licensed":{"type":"boolean","description":"Commercial entitlement, independent of the configured Economy switch."},"enabled":{"type":"boolean"},"currencyName":{"type":"string"},"currencySymbol":{"type":"string"},"account":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/EconomyAccountItem"}]},"onlineDurationReward":{"description":"The current server-wide online-duration rule, independent of this player's account or progress.","oneOf":[{"$ref":"#/components/schemas/PlayerOnlineDurationRewardResponse"}]}}},"EconomyAccountItem":{"type":"object","description":"Describes one persisted server-wide economy account.","additionalProperties":false,"required":["playerId","playerName"],"properties":{"playerId":{"type":"string","description":"Global normalized player identifier."},"playerName":{"type":"string","description":"Last display name observed during an explicit economy operation."},"balance":{"type":"integer","description":"Current whole-unit balance.","format":"int64"},"createdAt":{"type":"string","description":"UTC instant when the account was first created.","format":"date-time"},"updatedAt":{"type":"string","description":"UTC instant when the balance or display name last changed.","format":"date-time"}}},"PlayerOnlineDurationRewardResponse":{"type":"object","description":"Read-only online-reward rules; reading them neither records online time nor grants a reward.","additionalProperties":false,"required":["enabled","intervalMinutes","amount"],"properties":{"enabled":{"type":"boolean","description":"Whether the economy and online-reward switches permit a positive reward."},"intervalMinutes":{"type":"integer","description":"Minutes of accumulated in-game online time required for each reward.","format":"int32"},"amount":{"type":"integer","description":"Currency units credited for each completed interval.","format":"int64"}}},"ListEconomyTransactionsResponse":{"type":"object","description":"Returns one page of a player's persisted economy transactions.","additionalProperties":false,"required":["items","totalCount","pageNumber","pageSize","hasMore"],"properties":{"items":{"type":"array","description":"Transactions included in this page.","items":{"$ref":"#/components/schemas/EconomyTransactionItem"}},"totalCount":{"type":"integer","description":"Total transactions matching the supplied filters.","format":"int64"},"pageNumber":{"type":"integer","description":"One-based page number used for this result.","format":"int32"},"pageSize":{"type":"integer","description":"Page size used for this result.","format":"int32"},"hasMore":{"type":"boolean","description":"Whether another matching page exists."}}},"EconomyTransactionItem":{"type":"object","description":"Describes one immutable economy ledger transaction.","additionalProperties":false,"required":["type","source","referenceId"],"properties":{"id":{"type":"integer","description":"Monotonic SQLite transaction row identifier.","format":"int64"},"type":{"type":"string","description":"Stable transaction type such as Adjustment or TeleportationCharge."},"delta":{"type":"integer","description":"Signed whole-unit balance change.","format":"int64"},"balanceBefore":{"type":"integer","description":"Balance immediately before this transaction.","format":"int64"},"balanceAfter":{"type":"integer","description":"Balance immediately after this transaction.","format":"int64"},"source":{"type":"string","description":"Feature or subsystem that produced the transaction."},"referenceId":{"type":"string","description":"Caller-owned reference used to explain or correlate the operation."},"reason":{"type":"string","description":"Optional human-readable reason retained with the transaction.","nullable":true},"occurredAt":{"type":"string","description":"UTC instant when the transaction committed.","format":"date-time"}}},"PlayerDailyResponse":{"type":"object","description":"Daily reward eligibility for the configured calendar day, independent of the browser time zone.","additionalProperties":false,"properties":{"licensed":{"type":"boolean","description":"Whether the server may start paid daily-reward operations."},"enabled":{"type":"boolean"},"amount":{"type":"integer","format":"int64"},"localDate":{"type":"string"},"timeZone":{"type":"string"},"claimed":{"type":"boolean"},"nextResetAt":{"type":"string","description":"UTC instant when the next calendar day starts in TimeZone, including daylight-saving transitions.","format":"date-time"}}},"EconomyDeathPenaltyConfigurationResponse":{"type":"object","description":"Returns the persisted player-death penalty settings.","additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Whether player deaths deduct currency."},"amount":{"type":"integer","description":"Maximum whole units deducted per death.","format":"int64"},"updatedAt":{"type":"string","description":"UTC instant when the configuration was last changed.","format":"date-time"}}},"EconomyDeathPenaltyConfigurationRequest":{"type":"object","description":"Configures an optional balance deduction when an online player dies.","additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Whether player deaths deduct currency."},"amount":{"type":"integer","description":"Maximum whole units deducted per death; the balance never becomes negative.","format":"int64"}}},"EconomyMessageTemplatesResponse":{"type":"object","description":"Returns all fixed Economy message templates for one selected default language.","additionalProperties":false,"required":["language"],"properties":{"requestedLanguage":{"type":"string","description":"Language tag explicitly requested by the management client, if any.","nullable":true},"language":{"type":"string","description":"Language whose embedded defaults are shown by this response."},"availableLanguages":{"type":"array","description":"Language tags for which this module embeds defaults.","items":{"type":"string"}},"templates":{"type":"array","description":"Effective templates and their optional global overrides.","items":{"$ref":"#/components/schemas/EconomyMessageTemplateResponse"}}}},"EconomyMessageTemplateResponse":{"type":"object","description":"Describes one effective Economy message template and its optional override.","additionalProperties":false,"required":["key","description","content","defaultContent"],"properties":{"key":{"type":"string","description":"Stable template key used by commands and persistence."},"description":{"type":"string","description":"Human-readable purpose of this fixed template."},"content":{"type":"string","description":"Effective content after applying the global override, if present."},"defaultContent":{"type":"string","description":"Embedded content selected for the requested language."},"isCustomized":{"type":"boolean","description":"Whether the effective content comes from SQLite customization."},"updatedAt":{"type":"string","description":"UTC time of the persisted override, or null when using the default.","format":"date-time","nullable":true},"variables":{"type":"array","description":"Allowed tokens for this template.","items":{"$ref":"#/components/schemas/EconomyMessageTemplateVariableResponse"}}}},"EconomyMessageTemplateVariableResponse":{"type":"object","description":"Describes one variable accepted by an Economy message template.","additionalProperties":false,"required":["name","token","description"],"properties":{"name":{"type":"string","description":"Stable variable name without braces."},"token":{"type":"string","description":"Token syntax accepted in template content."},"description":{"type":"string","description":"Human-readable meaning of the variable."},"required":{"type":"boolean","description":"Whether the token must be supplied by the renderer."}}},"EconomyMessageTemplateRequest":{"type":"object","description":"Replaces one Economy message-template override.","additionalProperties":false,"properties":{"content":{"type":"string","description":"Replacement content; validation rejects unknown tokens and oversized text.","nullable":true}}},"EconomyConfigurationResponse":{"type":"object","description":"Returns effective economy settings and the server-wide currency metadata.","additionalProperties":false,"required":["currencyName","currencySymbol","dailyResetTimeZone"],"properties":{"enabled":{"type":"boolean","description":"Whether Economy commands and public operations are enabled."},"currencyName":{"type":"string","description":"Configured display name of the one virtual currency."},"currencySymbol":{"type":"string","description":"Configured display symbol of the one virtual currency."},"dailyRewardEnabled":{"type":"boolean","description":"Whether the daily reward may be claimed."},"dailyRewardAmount":{"type":"integer","description":"Whole units granted by a successful daily claim.","format":"int64"},"dailyResetTimeZone":{"type":"string","description":"Host time-zone identifier used for the daily boundary."},"publicLeaderboardEnabled":{"type":"boolean","description":"Whether authenticated non-administrator clients may read the ranking."},"updatedAt":{"type":"string","description":"UTC instant at which the settings were last changed.","format":"date-time"}}},"EconomyConfigurationRequest":{"type":"object","description":"Updates the global economy settings; accounts remain independent of world saves.","additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Whether economy commands and endpoints are enabled."},"currencyName":{"type":"string","description":"Display name of the one virtual currency.","nullable":true},"currencySymbol":{"type":"string","description":"Short display symbol of the one virtual currency.","nullable":true},"dailyRewardEnabled":{"type":"boolean","description":"Whether players may claim the daily reward."},"dailyRewardAmount":{"type":"integer","description":"Whole units granted by one successful daily claim.","format":"int64"},"dailyResetTimeZone":{"type":"string","description":"Time-zone identifier used to determine the daily boundary.","nullable":true},"publicLeaderboardEnabled":{"type":"boolean","description":"Whether non-administrators may read the leaderboard."}}},"ListEconomyAccountsResponse":{"type":"object","description":"Returns one page of persisted economy accounts.","additionalProperties":false,"required":["items","totalCount","pageNumber","pageSize","hasMore"],"properties":{"items":{"type":"array","description":"Accounts included in this page.","items":{"$ref":"#/components/schemas/EconomyAccountItem"}},"totalCount":{"type":"integer","description":"Total accounts matching the supplied filters.","format":"int64"},"pageNumber":{"type":"integer","description":"One-based page number used for this result.","format":"int32"},"pageSize":{"type":"integer","description":"Page size used for this result.","format":"int32"},"hasMore":{"type":"boolean","description":"Whether another matching page exists."}}},"EconomyBalanceResponse":{"type":"object","description":"Returns one server-wide player's current virtual-currency balance.","additionalProperties":false,"required":["playerId","playerName"],"properties":{"playerId":{"type":"string","description":"Global normalized player identifier."},"playerName":{"type":"string","description":"Last display name observed for the account."},"balance":{"type":"integer","description":"Current whole-unit balance.","format":"int64"},"updatedAt":{"type":"string","description":"UTC instant at which the account row was last changed.","format":"date-time"}}},"EconomyLeaderboardItem":{"type":"object","description":"Returns one ranked server-wide account.","additionalProperties":false,"required":["playerId","playerName"],"properties":{"rank":{"type":"integer","description":"One-based rank after deterministic balance ordering.","format":"int32"},"playerId":{"type":"string","description":"Global normalized player identifier."},"playerName":{"type":"string","description":"Last display name observed for the account."},"balance":{"type":"integer","description":"Current whole-unit balance.","format":"int64"},"updatedAt":{"type":"string","description":"UTC instant at which the account row was last changed.","format":"date-time"}}},"EconomyAdjustmentResponse":{"type":"object","description":"Describes one completed administrator balance adjustment.","additionalProperties":false,"required":["playerId","playerName"],"properties":{"playerId":{"type":"string","description":"Global normalized player identifier."},"playerName":{"type":"string","description":"Display name stored with the adjustment."},"balanceBefore":{"type":"integer","description":"Balance before the adjustment.","format":"int64"},"balanceAfter":{"type":"integer","description":"Balance after the adjustment.","format":"int64"},"delta":{"type":"integer","description":"Signed whole-unit delta.","format":"int64"},"occurredAt":{"type":"string","description":"UTC instant at which the adjustment was committed.","format":"date-time"}}},"EconomyAdjustmentRequest":{"type":"object","description":"Requests an administrator balance adjustment.","additionalProperties":false,"properties":{"playerName":{"type":"string","description":"Optional display name to refresh on the account row.","nullable":true},"delta":{"type":"integer","description":"Signed whole-unit amount to add or remove.","format":"int64"},"reason":{"type":"string","description":"Optional operator reason retained with the ledger transaction.","nullable":true}}},"EconomyBalanceResetResponse":{"type":"object","description":"Describes one committed reset of all non-zero Economy account balances.","additionalProperties":false,"required":["operationId"],"properties":{"operationId":{"type":"string","description":"Identifier shared by all ledger rows created by this reset."},"affectedAccountCount":{"type":"integer","description":"Number of accounts whose balance changed to zero.","format":"int32"},"balanceAfter":{"type":"integer","description":"Balance assigned to every affected account.","format":"int64"},"resetAt":{"type":"string","description":"UTC instant at which the reset transaction committed.","format":"date-time"}}},"EconomyBalanceResetRequest":{"type":"object","description":"Requests an explicit reset of every existing Economy account balance.","additionalProperties":false,"properties":{"confirmation":{"type":"string","description":"Must equal the server-defined reset confirmation phrase.","nullable":true},"reason":{"type":"string","description":"Optional operator reason retained with each reset ledger transaction.","nullable":true}}},"ShopPurchasesPageResponse":{"type":"object","description":"Returns one page of persisted Shop purchases and the metadata needed for navigation.","additionalProperties":false,"required":["items","totalCount","pageNumber","pageSize","hasMore"],"properties":{"items":{"type":"array","description":"Purchases matching the supplied filters on this page.","items":{"$ref":"#/components/schemas/ShopPurchaseResponse"}},"totalCount":{"type":"integer","description":"Total purchases matching the supplied filters.","format":"int64"},"pageNumber":{"type":"integer","description":"One-based page number used for this result.","format":"int32"},"pageSize":{"type":"integer","description":"Page size used for this result.","format":"int32"},"hasMore":{"type":"boolean","description":"Whether another matching page exists."}}},"ShopPurchaseResponse":{"type":"object","description":"Returns one persisted Shop purchase for management views.","additionalProperties":false,"required":["purchaseId","playerId","playerName","productKey","productName","status","productType","chargeReference"],"properties":{"purchaseId":{"type":"string","description":"Stable purchase identifier."},"playerId":{"type":"string","description":"Normalized player identifier charged for the purchase."},"playerName":{"type":"string","description":"Player name captured when the purchase was created."},"productId":{"type":"string","description":"Product identifier at purchase time, when it still exists.","nullable":true},"productKey":{"type":"string","description":"Product key captured at purchase time."},"productName":{"type":"string","description":"Product display name captured at purchase time."},"status":{"type":"string","description":"Current workflow status, including in-progress and uncertain delivery states."},"quantity":{"type":"integer","description":"Number of product units purchased.","format":"int32"},"productType":{"type":"string","description":"Captured product type: Item, Block, Buff, Bundle, or Command."},"items":{"type":"array","description":"Ordered purchased actions and their individual delivery outcomes.","items":{"$ref":"#/components/schemas/ShopPurchaseItemResponse"}},"unitPrice":{"type":"integer","description":"Currency cost per product unit captured before charging.","format":"int64"},"chargeReference":{"type":"string","description":"Stable Economy debit reference, used to correlate payment and compensation."},"totalPrice":{"type":"integer","description":"Total currency amount charged.","format":"int64"},"deliveryAttemptCount":{"type":"integer","description":"Number of delivery attempts, including the initial attempt.","format":"int32"},"lastDeliveryAttemptAt":{"type":"string","description":"UTC time of the most recent delivery attempt.","format":"date-time","nullable":true},"nextRetryAt":{"type":"string","description":"UTC time after which a confirmed non-delivery may be retried; null disables automatic retry.","format":"date-time","nullable":true},"error":{"type":"string","description":"Diagnostic error retained for failed or uncertain delivery.","nullable":true},"resolutionAction":{"type":"string","description":"Manual resolution action, when an administrator has handled an uncertain purchase.","nullable":true},"resolvedBy":{"type":"string","description":"Authenticated operator that resolved the purchase.","nullable":true},"resolvedAt":{"type":"string","description":"UTC resolution timestamp.","format":"date-time","nullable":true},"createdAt":{"type":"string","description":"UTC creation timestamp.","format":"date-time"},"updatedAt":{"type":"string","description":"UTC last status-update timestamp.","format":"date-time"}}},"ShopPurchaseItemResponse":{"type":"object","description":"Returns an immutable purchased action and its latest independently recorded outcome.","additionalProperties":false,"required":["itemId","productType","definitionName","status"],"properties":{"consoleCommand":{"description":"Captured console template; execution resolves the purchaser's current online entity ID.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/ShopConsoleCommand"}]},"itemId":{"type":"string","description":"Stable identifier used to select a remaining action for manual redelivery."},"position":{"type":"integer","description":"One-based delivery order within the purchase.","format":"int32"},"productType":{"type":"string","description":"Captured Item, Block, Buff, or Command action."},"definitionName":{"type":"string","description":"Native definition captured before charging."},"grantCount":{"type":"integer","description":"Total native quantity for this purchase, already multiplied by purchased units.","format":"int32"},"quality":{"type":"integer","description":"Captured optional item quality.","format":"int32","nullable":true},"durabilityPercent":{"type":"number","description":"Captured optional remaining durability percentage.","format":"float","nullable":true},"mods":{"type":"array","description":"Captured native modification names.","items":{"type":"string"}},"status":{"type":"string","description":"Pending, Running, Succeeded, Rejected, NotDelivered, or Uncertain."},"error":{"type":"string","description":"Diagnostic text for this action; previous attempt errors remain in attempt history.","nullable":true}}},"ShopConsoleCommand":{"type":"object","description":"Describes one server-console invocation owned by an administrator-configured product.","additionalProperties":false,"properties":{"name":{"type":"string","description":"Registered command name, separate from arguments; saved aliases are normalized to its primary name.","nullable":true},"argumentsTemplate":{"type":"string","description":"Single-line arguments with optional {PlayerId}, {PlayerEntityId}, and {PurchaseId} tokens."}}},"ShopDeliveryAttemptResponse":{"type":"object","description":"Describes one native delivery attempt for a Shop purchase.","additionalProperties":false,"required":["attemptId","purchaseId","kind","status"],"properties":{"attemptId":{"type":"string","description":"Stable attempt identifier."},"purchaseId":{"type":"string","description":"Purchase containing this attempt."},"attemptNumber":{"type":"integer","description":"One-based attempt sequence number.","format":"int32"},"kind":{"type":"string","description":"Initial, automatic-retry, or manual-redeliver."},"status":{"type":"string","description":"Running, Succeeded, Failed, NotDelivered (confirmed no native delivery started), or Uncertain."},"error":{"type":"string","description":"Diagnostic failure text, when available.","nullable":true},"startedAt":{"type":"string","description":"UTC start timestamp.","format":"date-time"},"completedAt":{"type":"string","description":"UTC completion timestamp, when finished.","format":"date-time","nullable":true},"items":{"type":"array","description":"Individual native actions executed during this attempt, in execution order.","items":{"$ref":"#/components/schemas/ShopDeliveryItemAttemptResponse"}}}},"ShopDeliveryItemAttemptResponse":{"type":"object","description":"Records one action within a delivery attempt, including evidence before native execution.","additionalProperties":false,"required":["itemId","status"],"properties":{"itemId":{"type":"string","description":"Purchased action associated with this attempt."},"status":{"type":"string","description":"Running, Succeeded, Rejected, NotDelivered, or Uncertain."},"error":{"type":"string","description":"Diagnostic result for this attempt only.","nullable":true},"startedAt":{"type":"string","description":"UTC time recorded before calling the native provider.","format":"date-time"},"completedAt":{"type":"string","description":"UTC outcome-recording time; absent while execution is in progress.","format":"date-time","nullable":true}}},"ShopPurchaseResolutionRequest":{"type":"object","description":"Describes one explicit manual action for an uncertain Shop purchase.","additionalProperties":false,"properties":{"action":{"type":"string","description":"One of confirm-delivered, redeliver, refund, or close.","nullable":true},"itemId":{"type":"string","description":"Purchased action to redeliver; required for all Bundle redeliveries, optional for ordinary products.","nullable":true}}},"PlayerProductsResponse":{"type":"object","description":"Filtered product page without administrator-only fulfillment configuration.","additionalProperties":false,"properties":{"licensed":{"type":"boolean","description":"Commercial purchase entitlement, independent of the configured shop switch."},"enabled":{"type":"boolean"},"items":{"type":"array","items":{"$ref":"#/components/schemas/PlayerProductResponse"}},"totalCount":{"type":"integer","format":"int64"},"pageNumber":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"}}},"PlayerProductResponse":{"type":"object","description":"A purchasable product and token-owner-specific UTC purchase limits.","additionalProperties":false,"properties":{"productKey":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string"},"category":{"type":"string"},"unitPrice":{"type":"integer","format":"int64"},"maxQuantity":{"type":"integer","format":"int32"},"iconName":{"type":"string","nullable":true},"productType":{"type":"string"},"grantCount":{"type":"integer","format":"int32"},"quality":{"type":"integer","format":"int32","nullable":true},"items":{"type":"array","items":{"$ref":"#/components/schemas/PlayerProductItem"}},"nextPurchaseAt":{"type":"string","description":"Cooldown boundary in UTC; null means no prior purchase.","format":"date-time","nullable":true},"dailyRemaining":{"type":"integer","description":"Remaining product units for the UTC day; null means unlimited.","format":"int32","nullable":true}}},"PlayerProductItem":{"type":"object","description":"Player-visible contents; console commands and argument templates are never included.","additionalProperties":false,"properties":{"productType":{"type":"string"},"definitionName":{"type":"string"},"grantCount":{"type":"integer","format":"int32"},"quality":{"type":"integer","format":"int32","nullable":true},"iconName":{"type":"string","description":"Current native icon name for safe player display; null when the action has no icon.","nullable":true}}},"PlayerProductSort":{"type":"string","description":"Player catalog ordering, applied after availability filters and before pagination. Default preserves the configured shop order.","x-enumNames":["Default","PriceAscending","PriceDescending","NameAscending","NameDescending"],"enum":["Default","PriceAscending","PriceDescending","NameAscending","NameDescending"]},"PlayerPurchaseResponse":{"type":"object","description":"Persisted fulfillment state; Uncertain requires operator review, not another purchase.","additionalProperties":false,"properties":{"purchaseId":{"type":"string"},"productKey":{"type":"string"},"productName":{"type":"string"},"quantity":{"type":"integer","format":"int32"},"totalPrice":{"type":"integer","format":"int64"},"status":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"PlayerPurchaseRequest":{"type":"object","description":"One deliberate purchase attempt; retry the same GUID after a network failure.","additionalProperties":false,"properties":{"requestId":{"type":"string","description":"Client-generated GUID reused only when retrying this exact purchase after an uncertain HTTP response.","nullable":true},"productKey":{"type":"string","nullable":true},"quantity":{"type":"integer","format":"int32"}}},"PlayerPurchasesResponse":{"type":"object","description":"One page of the authenticated player's purchases.","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PlayerPurchaseResponse"}},"totalCount":{"type":"integer","format":"int64"},"pageNumber":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"}}},"ShopMessageTemplatesResponse":{"type":"object","additionalProperties":false,"required":["language"],"properties":{"requestedLanguage":{"type":"string","description":"Gets the normalized language requested by the management client.","nullable":true},"language":{"type":"string","description":"Gets the embedded language selected after fallback."},"availableLanguages":{"type":"array","description":"Gets languages embedded by the Shop module.","items":{"type":"string"}},"templates":{"type":"array","description":"Gets the fixed Shop template catalog.","items":{"$ref":"#/components/schemas/ShopMessageTemplateResponse"}}}},"ShopMessageTemplateResponse":{"type":"object","additionalProperties":false,"required":["key","description","content","defaultContent"],"properties":{"key":{"type":"string","description":"Gets the stable template key."},"description":{"type":"string","description":"Gets the purpose of this template."},"content":{"type":"string","description":"Gets the effective content after applying the override."},"defaultContent":{"type":"string","description":"Gets the selected embedded default content."},"isCustomized":{"type":"boolean","description":"Gets whether a SQLite override is active."},"updatedAt":{"type":"string","description":"Gets when the override was last changed.","format":"date-time","nullable":true},"variables":{"type":"array","description":"Gets variables accepted by this template.","items":{"$ref":"#/components/schemas/ShopMessageTemplateVariableResponse"}}}},"ShopMessageTemplateVariableResponse":{"type":"object","additionalProperties":false,"required":["name","token","description"],"properties":{"name":{"type":"string","description":"Gets the variable name without braces."},"token":{"type":"string","description":"Gets the token syntax accepted in template content."},"description":{"type":"string","description":"Gets the variable meaning."},"required":{"type":"boolean","description":"Gets whether the variable is required when saving content."}}},"ShopMessageTemplateRequest":{"type":"object","additionalProperties":false,"properties":{"content":{"type":"string","description":"Gets replacement content; unknown tokens and oversized text are rejected.","nullable":true}}},"ShopConfigurationResponse":{"type":"object","description":"Returns Shop configuration and effective command metadata.","additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Whether all Shop commands are enabled."},"commands":{"type":"array","description":"Effective command metadata after routing validation.","items":{"$ref":"#/components/schemas/ShopCommandResponse"}},"updatedAt":{"type":"string","description":"UTC timestamp of the configuration snapshot.","format":"date-time"}}},"ShopCommandResponse":{"type":"object","description":"Describes one effective Shop command for management clients.","additionalProperties":false,"required":["commandId","name","description"],"properties":{"commandId":{"type":"string","description":"Stable Shop command identifier."},"enabled":{"type":"boolean","description":"Whether this command participates in routing."},"name":{"type":"string","description":"Effective canonical command name."},"aliases":{"type":"array","description":"Effective alternative command names.","items":{"type":"string"}},"description":{"description":"Gets the effective, localized default, and customization state for the command description.","oneOf":[{"$ref":"#/components/schemas/ChatCommandDescription"}]},"usage":{"type":"array","description":"Usage arguments shown to operators and players.","items":{"type":"string"}}}},"ShopConfigurationRequest":{"type":"object","description":"Replaces the global Shop switch and command routing metadata.","additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Enables or disables all Shop commands."},"commands":{"type":"array","description":"Complete replacement for the three fixed Shop command descriptors.","items":{"$ref":"#/components/schemas/ShopCommandRequest"}}}},"ShopCommandRequest":{"type":"object","description":"Describes one configurable Shop chat command.","additionalProperties":false,"properties":{"commandId":{"type":"string","description":"Stable Shop command identifier.","nullable":true},"enabled":{"type":"boolean","description":"Whether this command participates in routing."},"name":{"type":"string","description":"Canonical command name without the configured prefix.","nullable":true},"aliases":{"type":"array","description":"Alternative names without the configured prefix.","items":{"type":"string"}},"descriptionOverride":{"type":"string","description":"Optional database override for the localized command description.","nullable":true}}},"ShopProductsPageResponse":{"type":"object","description":"Returns one filtered page of configured Shop products.","additionalProperties":false,"required":["items","totalCount","pageNumber","pageSize","hasMore"],"properties":{"items":{"type":"array","description":"Products matching the supplied filters on this page.","items":{"$ref":"#/components/schemas/ShopProductResponse"}},"totalCount":{"type":"integer","description":"Total products matching the supplied filters.","format":"int64"},"pageNumber":{"type":"integer","description":"One-based page number used for this result.","format":"int32"},"pageSize":{"type":"integer","description":"Page size used for this result.","format":"int32"},"hasMore":{"type":"boolean","description":"Whether another matching page exists."}}},"ShopProductResponse":{"type":"object","description":"Returns one configured shop product.","additionalProperties":false,"required":["productId","productKey","displayName","description","category","definitionName","productType"],"properties":{"consoleCommand":{"description":"Captured console configuration; null for native products and Bundle headers.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/ShopConsoleCommand"}]},"productId":{"type":"string","description":"Stable identifier of the product configuration."},"productKey":{"type":"string","description":"Case-insensitive key accepted by the player purchase command."},"displayName":{"type":"string","description":"Player-facing product name."},"description":{"type":"string","description":"Optional player-facing product details."},"category":{"type":"string","description":"Management category used for catalog grouping."},"sortOrder":{"type":"integer","description":"Catalog ordering value.","format":"int32"},"enabled":{"type":"boolean","description":"Whether the product is currently purchasable."},"unitPrice":{"type":"integer","description":"Currency cost for one purchased unit.","format":"int64"},"maxQuantity":{"type":"integer","description":"Maximum units accepted by one purchase.","format":"int32"},"purchaseCooldownSeconds":{"type":"integer","description":"Minimum seconds between successful or charged purchases by one player.","format":"int32"},"dailyPurchaseLimit":{"type":"integer","description":"Maximum purchased units per player during one UTC calendar day; null means unlimited.","format":"int32","nullable":true},"definitionName":{"type":"string","description":"Native item, block, or Buff definition name; empty for Bundles and Command products."},"productType":{"type":"string","description":"Product action type: Item, Block, Buff, Bundle, or Command."},"grantCount":{"type":"integer","description":"Native quantity granted for each purchased unit.","format":"int32"},"quality":{"type":"integer","description":"Optional quality tier passed to native delivery.","format":"int32","nullable":true},"durabilityPercent":{"type":"number","description":"Optional remaining durability percentage passed to native delivery.","format":"float","nullable":true},"mods":{"type":"array","description":"Optional native modification names.","items":{"type":"string"}},"items":{"type":"array","description":"Ordered Bundle contents with current native-definition availability.","items":{"$ref":"#/components/schemas/ShopProductItemResponse"}},"definitionAvailable":{"type":"boolean","description":"Whether each action has a loaded native definition or valid console configuration; command registration is checked on save and execution."},"definitionAvailabilityReason":{"type":"string","description":"Explains why the native definition is unavailable, when applicable.","nullable":true},"definitionId":{"type":"integer","description":"Current native item/block identifier; null for Buffs or unavailable definitions.","format":"int32","nullable":true},"definitionIconName":{"type":"string","description":"Current native icon name, when available.","nullable":true},"definitionMaxStackSize":{"type":"integer","description":"Current native item/block stack limit; null for Buffs or unavailable definitions.","format":"int32","nullable":true},"definitionHasQuality":{"type":"boolean","description":"Whether the current item definition accepts quality.","nullable":true},"createdAt":{"type":"string","description":"UTC creation timestamp.","format":"date-time"},"updatedAt":{"type":"string","description":"UTC last-update timestamp.","format":"date-time"}}},"ShopProductItemResponse":{"type":"object","description":"Returns one Bundle action and its current definition availability.","additionalProperties":false,"required":["productType","definitionName"],"properties":{"definitionIconName":{"type":"string","description":"Current native item, block or Buff icon name; null for commands or definitions without an icon.","nullable":true},"consoleCommand":{"description":"Immutable command template; the purchaser's current entity ID is resolved only when executed.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/ShopConsoleCommand"}]},"productType":{"type":"string","description":"Item, Block, Buff, or Command."},"definitionName":{"type":"string","description":"Configured native definition name."},"grantCount":{"type":"integer","description":"Quantity granted in one Bundle.","format":"int32"},"quality":{"type":"integer","description":"Optional item quality.","format":"int32","nullable":true},"durabilityPercent":{"type":"number","description":"Optional remaining durability percentage.","format":"float","nullable":true},"mods":{"type":"array","description":"Configured native modifications.","items":{"type":"string"}},"definitionAvailable":{"type":"boolean","description":"Whether this action has a loaded native definition or valid console configuration; command registration is checked on save and execution."}}},"ShopProductRequest":{"type":"object","description":"Creates or updates one shop product.","additionalProperties":false,"properties":{"consoleCommand":{"description":"Fixed console command and argument template; only Command products accept this configuration.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/ShopConsoleCommand"}]},"productKey":{"type":"string","description":"Stable lower-case key used by chat commands and APIs.","nullable":true},"displayName":{"type":"string","description":"Player-facing product name.","nullable":true},"description":{"type":"string","description":"Optional player-facing details.","nullable":true},"category":{"type":"string","description":"Optional management category used for catalog grouping.","nullable":true},"sortOrder":{"type":"integer","description":"Lower values appear first in the player catalog.","format":"int32"},"enabled":{"type":"boolean","description":"Whether players can purchase the product."},"unitPrice":{"type":"integer","description":"Price for one purchase unit.","format":"int64"},"maxQuantity":{"type":"integer","description":"Maximum units accepted in one purchase.","format":"int32"},"purchaseCooldownSeconds":{"type":"integer","description":"Minimum seconds between successful or charged purchases of this product by one player.","format":"int32"},"dailyPurchaseLimit":{"type":"integer","description":"Maximum purchased units per player during one UTC calendar day; null means unlimited.","format":"int32","nullable":true},"definitionName":{"type":"string","description":"Native item, block, or Buff internal name; omit for Bundles and Command products.","nullable":true},"productType":{"type":"string","description":"Product action type: Item, Block, Buff, Bundle, or Command.","nullable":true},"grantCount":{"type":"integer","description":"Quantity granted per purchased unit; Buff and Command products require one.","format":"int32"},"quality":{"type":"integer","description":"Optional item quality.","format":"int32","nullable":true},"durabilityPercent":{"type":"number","description":"Optional item durability percentage.","format":"float","nullable":true},"mods":{"type":"array","description":"Optional modification names.","nullable":true,"items":{"type":"string"}},"items":{"type":"array","description":"Ordered Bundle contents; ordinary products must omit this list.","nullable":true,"items":{"$ref":"#/components/schemas/ShopProductItemRequest"}}}},"ShopProductItemRequest":{"type":"object","description":"Configures one ordered Bundle action, independent of other catalog products.","additionalProperties":false,"properties":{"consoleCommand":{"description":"Fixed command configuration for this action; null for Item, Block, and Buff.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/ShopConsoleCommand"}]},"productType":{"type":"string","description":"Item, Block, Buff, or Command; nested Bundles are not supported.","nullable":true},"definitionName":{"type":"string","description":"Loaded native definition name.","nullable":true},"grantCount":{"type":"integer","description":"Quantity granted in one Bundle; Buffs require one.","format":"int32"},"quality":{"type":"integer","description":"Optional item quality, from 1 to 6.","format":"int32","nullable":true},"durabilityPercent":{"type":"number","description":"Optional remaining durability, from 0 to 100 percent.","format":"float","nullable":true},"mods":{"type":"array","description":"Loaded modification item names.","nullable":true,"items":{"type":"string"}}}},"PlayerTeleportationOptionsResponse":{"type":"object","description":"Player-facing travel policy; chat availability is independent of the web travel feature switches.","additionalProperties":false,"properties":{"homesEnabled":{"type":"boolean"},"landmarksEnabled":{"type":"boolean"},"homeCost":{"type":"integer","description":"Whole currency units charged once for returning to any home; zero is free.","format":"int64"},"landmarkCost":{"type":"integer","description":"Whole currency units charged once for travelling to any enabled landmark.","format":"int64"},"maxHomesPerPlayer":{"type":"integer","format":"int32"},"allowPlayerSetHome":{"type":"boolean","description":"Whether the in-game set-home operation is permitted; the player web API does not create homes."},"allowPlayerDeleteHome":{"type":"boolean","description":"Whether the in-game delete-home operation is permitted; the player web API does not delete homes."},"commands":{"type":"array","items":{"$ref":"#/components/schemas/PlayerTeleportationCommandResponse"}}}},"PlayerTeleportationCommandResponse":{"type":"object","description":"Read-only command explanation resolved through the existing Chat runtime and localization providers.","additionalProperties":false,"required":["commandId","command","description"],"properties":{"commandId":{"type":"string"},"command":{"type":"string","description":"Effective name including the configured prefix."},"aliases":{"type":"array","description":"Bare aliases, independent of the displayed prefix.","items":{"type":"string"}},"description":{"type":"string"},"usage":{"type":"array","description":"Argument patterns from the command descriptor; clients append them to the effective Command using their shared usage formatter.","items":{"type":"string"}},"enabled":{"type":"boolean","description":"Includes the global Chat switch; false does not disable web travel."}}},"PlayerTeleportDestinationResponse":{"type":"object","description":"A saved player-owned home or an enabled public landmark in the active save.","additionalProperties":false,"required":["id","name","position"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"key":{"type":"string","description":"Landmark argument for its chat command; null for homes, which use their name.","nullable":true},"position":{"description":"Stored world coordinates, not a request-provided destination; Y=-1 delegates ground-height selection to the game.","oneOf":[{"$ref":"#/components/schemas/TeleportationHistoryPosition"}]},"viewDirection":{"type":"string","description":"Configured cardinal facing direction, or null to keep the current direction.","nullable":true}}},"TeleportationHistoryPosition":{"type":"object","description":"World coordinates captured for an attempt; never a client-confirmed arrival position.","additionalProperties":false,"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"},"z":{"type":"number","format":"double"}}},"PlayerLandmarksResponse":{"type":"object","description":"Enabled landmarks filtered by key or display name before stable pagination.","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PlayerTeleportDestinationResponse"}},"totalCount":{"type":"integer","format":"int64"},"pageNumber":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"}}},"PlayerTeleportResponse":{"type":"object","description":"Persisted evidence for one token-owned web request. Accepted confirms sending a native instruction, not client arrival.","additionalProperties":false,"required":["requestId","destinationId","destinationName","kind","status","paymentStatus"],"properties":{"requestId":{"type":"string"},"destinationId":{"type":"string"},"destinationName":{"type":"string"},"kind":{"type":"string"},"status":{"type":"string","description":"Pending and Uncertain must be queried rather than automatically executed again."},"nativeStatus":{"type":"string","description":"Native operation outcome, or null when payment prevented execution or no native result was confirmed.","nullable":true},"cost":{"type":"integer","description":"Confirmed whole-unit fee; paymentStatus indicates whether it was charged or refunded.","format":"int64"},"paymentStatus":{"type":"string","description":"Separate payment evidence; Uncertain can accompany a known native rejection when refund confirmation fails."},"startedAt":{"type":"string","description":"UTC instant when the request was durably claimed, before payment and native execution.","format":"date-time"},"completedAt":{"type":"string","description":"UTC completion instant, or null for a pending or interrupted workflow.","format":"date-time","nullable":true}}},"PlayerTeleportRequest":{"type":"object","description":"Identifies one user-confirmed operation; identity, destination and actual price remain server-owned.","additionalProperties":false,"required":["requestId","expectedCost"],"properties":{"requestId":{"type":"string","description":"Nonempty client-generated UUID scoped to the authenticated player and active save.","minLength":1},"expectedCost":{"type":"integer","description":"Displayed fee confirmed by the player; changed fees reject the request before any side effect.","format":"int64","maximum":9223372036854780000,"minimum":0}}},"TeleportationMessageTemplatesResponse":{"type":"object","description":"Returns the fixed teleportation-template catalog merged with global overrides.","additionalProperties":false,"required":["language"],"properties":{"requestedLanguage":{"type":"string","description":"Gets the normalized requested language, or null when server language selection was used.","nullable":true},"language":{"type":"string","description":"Gets the embedded-resource language selected after fallback."},"availableLanguages":{"type":"array","description":"Gets languages for which Teleportation embeds native defaults.","items":{"type":"string"}},"templates":{"type":"array","description":"Gets every fixed template and its effective content.","items":{"$ref":"#/components/schemas/TeleportationMessageTemplateResponse"}}}},"TeleportationMessageTemplateResponse":{"type":"object","description":"Describes one fixed teleportation message and its global override.","additionalProperties":false,"required":["key","description","content","defaultContent"],"properties":{"key":{"type":"string","description":"Gets the stable module-owned template key."},"description":{"type":"string","description":"Gets the management description for this player-facing message."},"content":{"type":"string","description":"Gets the global override when present; otherwise, the selected embedded default."},"defaultContent":{"type":"string","description":"Gets the embedded default selected for the management-request language."},"isCustomized":{"type":"boolean","description":"Gets whether Content comes from the global SQLite override."},"updatedAt":{"type":"string","description":"Gets when the global override was last replaced, expressed as a UTC timestamp.","format":"date-time","nullable":true},"variables":{"type":"array","description":"Gets the fixed variables accepted by this template.","items":{"$ref":"#/components/schemas/TeleportationMessageTemplateVariableResponse"}}}},"TeleportationMessageTemplateVariableResponse":{"type":"object","description":"Describes one optional variable accepted by a teleportation template.","additionalProperties":false,"required":["name","token","description"],"properties":{"name":{"type":"string","description":"Gets the variable name without braces."},"token":{"type":"string","description":"Gets the exact token accepted in template content."},"description":{"type":"string","description":"Gets the business value represented by the variable."},"required":{"type":"boolean","description":"Gets whether saved content must contain this variable."}}},"TeleportationMessageTemplateRequest":{"type":"object","description":"Replaces the global override for one fixed teleportation message.","additionalProperties":false,"required":["content"],"properties":{"content":{"type":"string","description":"Gets the replacement content for the language-independent global override.","maxLength":500,"minLength":1}}},"ListLandmarksResponse":{"type":"object","description":"Returns one page of configured landmarks.","additionalProperties":false,"required":["items"],"properties":{"items":{"type":"array","description":"Gets the requested page of landmarks.","items":{"$ref":"#/components/schemas/LandmarkResponse"}},"totalCount":{"type":"integer","description":"Gets the total number of matching records.","format":"int64"},"pageNumber":{"type":"integer","description":"Gets the one-based page number.","format":"int32"},"pageSize":{"type":"integer","description":"Gets the page size.","format":"int32"},"hasMore":{"type":"boolean","description":"Gets whether another page is available."}}},"LandmarkResponse":{"type":"object","description":"Returns one configured landmark.","additionalProperties":false,"required":["id","key","name","position"],"properties":{"id":{"type":"string","description":"Gets the stable identifier used by administrator routes."},"key":{"type":"string","description":"Gets the stable command key used by `/travel`."},"name":{"type":"string","description":"Gets the operator-facing display name."},"position":{"description":"Gets the destination coordinates.","oneOf":[{"$ref":"#/components/schemas/LandmarkPositionResponse"}]},"viewDirection":{"type":"string","description":"Gets the optional facing direction applied after teleporting.","nullable":true},"enabled":{"type":"boolean","description":"Gets whether players may select this landmark."},"createdAt":{"type":"string","description":"Gets when this record was created, in UTC.","format":"date-time"},"updatedAt":{"type":"string","description":"Gets when this record was last replaced, in UTC.","format":"date-time"}}},"LandmarkPositionResponse":{"type":"object","description":"Returns integer world coordinates for a landmark.","additionalProperties":false,"properties":{"x":{"type":"integer","description":"Gets the world X coordinate.","format":"int32"},"y":{"type":"integer","description":"Gets the world Y coordinate.","format":"int32"},"z":{"type":"integer","description":"Gets the world Z coordinate.","format":"int32"}}},"LandmarkRequest":{"type":"object","description":"Creates or replaces one manually managed teleport destination.","additionalProperties":false,"properties":{"key":{"type":"string","description":"Gets the stable command argument used to select the destination.","nullable":true},"name":{"type":"string","description":"Gets the operator-facing display name.","nullable":true},"position":{"description":"Gets the integer world coordinates used by the native teleport operation.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/LandmarkPositionRequest"}]},"viewDirection":{"type":"string","description":"Gets the optional facing direction applied after teleporting.","nullable":true},"enabled":{"type":"boolean","description":"Gets whether players may select this destination."}}},"LandmarkPositionRequest":{"type":"object","description":"Defines an integer world position for a landmark.","additionalProperties":false,"properties":{"x":{"type":"integer","description":"Gets the world X coordinate.","format":"int32"},"y":{"type":"integer","description":"Gets the world Y coordinate.","format":"int32"},"z":{"type":"integer","description":"Gets the world Z coordinate.","format":"int32"}}},"LandmarkConfigurationResponse":{"type":"object","description":"Returns landmark feature settings and the effective chat command route.","additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Gets whether player landmark travel is available."},"travelCost":{"type":"integer","description":"Gets the whole-unit balance cost of landmark travel.","format":"int64"},"command":{"description":"Gets the effective landmark command route.","oneOf":[{"$ref":"#/components/schemas/LandmarkCommandResponse"}]},"listCommand":{"description":"Gets the effective landmark-list command route.","oneOf":[{"$ref":"#/components/schemas/LandmarkCommandResponse"}]},"updatedAt":{"type":"string","description":"Gets the UTC instant when these settings were last replaced.","format":"date-time"}}},"LandmarkCommandResponse":{"type":"object","description":"Returns the effective landmark command route.","additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"name":{"type":"string"},"aliases":{"type":"array","items":{"type":"string"}},"description":{"description":"Gets the localized default, effective content, and override state.","oneOf":[{"$ref":"#/components/schemas/ChatCommandDescription"}]}}},"LandmarkConfigurationRequest":{"type":"object","description":"Defines the landmark feature switch and player-facing command route.","additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Gets whether player landmark travel is available."},"travelCost":{"type":"integer","description":"Gets the whole-unit balance cost of landmark travel; zero is free.","format":"int64"},"command":{"description":"Gets editable routing metadata for the landmark command.","oneOf":[{"$ref":"#/components/schemas/LandmarkCommandRequest"}]},"listCommand":{"description":"Gets editable routing metadata for the landmark-list command.","oneOf":[{"$ref":"#/components/schemas/LandmarkCommandRequest"}]}}},"LandmarkCommandRequest":{"type":"object","description":"Defines the player-facing landmark command route.","additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Gets whether the command participates in chat routing."},"name":{"type":"string","description":"Gets the canonical command name without a leading slash.","nullable":true},"aliases":{"type":"array","description":"Gets alternative command names without leading slashes.","items":{"type":"string"}},"descriptionOverride":{"type":"string","description":"Gets an optional administrator description override.","nullable":true}}},"ListPlayerHomesResponse":{"type":"object","description":"Returns one page of homes and stable paging metadata.","additionalProperties":false,"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PlayerHomeResponse"}},"totalCount":{"type":"integer","format":"int64"},"pageNumber":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"hasMore":{"type":"boolean"}}},"PlayerHomeResponse":{"type":"object","description":"Returns one persisted home without reading live game state.","additionalProperties":false,"required":["id","playerId","name","position"],"properties":{"id":{"type":"string"},"playerId":{"type":"string"},"name":{"type":"string"},"position":{"$ref":"#/components/schemas/PlayerHomePositionResponse"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"PlayerHomePositionResponse":{"type":"object","description":"Returns an integer world position from a persisted home record.","additionalProperties":false,"properties":{"x":{"type":"integer","format":"int32"},"y":{"type":"integer","format":"int32"},"z":{"type":"integer","format":"int32"}}},"PlayerHomeRequest":{"type":"object","description":"Creates or replaces operator-managed persisted home data.","additionalProperties":false,"properties":{"playerId":{"type":"string","description":"Gets the exact combined player identifier that owns the home.","nullable":true},"name":{"type":"string","description":"Gets the case-insensitively unique home name for this player and world.","nullable":true},"position":{"description":"Gets the persisted integer world position.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/PlayerHomePositionRequest"}]}}},"PlayerHomePositionRequest":{"type":"object","description":"Defines an integer world position for a persisted home.","additionalProperties":false,"properties":{"x":{"type":"integer","format":"int32"},"y":{"type":"integer","format":"int32"},"z":{"type":"integer","format":"int32"}}},"HomeConfigurationResponse":{"type":"object","description":"Returns persisted home rules and effective chat-command metadata.","additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"maxHomesPerPlayer":{"type":"integer","format":"int32"},"returnCost":{"type":"integer","description":"Gets the whole-unit balance cost of returning to one saved home.","format":"int64"},"allowPlayerSet":{"type":"boolean"},"allowPlayerDelete":{"type":"boolean"},"commands":{"type":"array","items":{"$ref":"#/components/schemas/HomeChatCommandResponse"}},"updatedAt":{"type":"string","description":"Gets the UTC instant when this configuration was last replaced.","format":"date-time"}}},"HomeChatCommandResponse":{"type":"object","description":"Returns effective metadata for one stable home command behavior.","additionalProperties":false,"required":["commandId","name","description"],"properties":{"commandId":{"type":"string"},"enabled":{"type":"boolean"},"name":{"type":"string"},"aliases":{"type":"array","items":{"type":"string"}},"description":{"description":"Gets the effective, default, and customization state for the command description.","oneOf":[{"$ref":"#/components/schemas/ChatCommandDescription"}]},"usage":{"type":"array","description":"Gets behavior-owned argument patterns, which are not editable metadata.","items":{"type":"string"}}}},"HomeConfigurationRequest":{"type":"object","description":"Defines player-facing home rules and editable chat-command metadata.","additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Gets whether home commands may operate; administrators may still manage records."},"maxHomesPerPlayer":{"type":"integer","description":"Gets the maximum number of homes each player may create, from 1 through 100.","format":"int32"},"returnCost":{"type":"integer","description":"Gets the whole-unit balance cost of returning to one saved home; zero is free.","format":"int64"},"allowPlayerSet":{"type":"boolean","description":"Gets whether players may create or overwrite homes through chat."},"allowPlayerDelete":{"type":"boolean","description":"Gets whether players may delete homes through chat."},"commands":{"type":"array","description":"Gets the complete set of stable home commands to replace atomically.","items":{"$ref":"#/components/schemas/HomeChatCommandRequest"}}}},"HomeChatCommandRequest":{"type":"object","description":"Defines editable routing and help metadata for one stable home behavior.","additionalProperties":false,"properties":{"commandId":{"type":"string","description":"Gets the stable behavior ID, which is independent of the displayed command name.","nullable":true},"enabled":{"type":"boolean","description":"Gets whether this command participates in routing; the home command must remain enabled."},"name":{"type":"string","description":"Gets the canonical command token without a leading slash.","nullable":true},"aliases":{"type":"array","description":"Gets alternative command tokens without leading slashes.","items":{"type":"string"}},"descriptionOverride":{"type":"string","description":"Gets the optional language-independent description override. An empty value restores\nthe Teleportation-owned localized default.","nullable":true}}},"ListTeleportationHistoryResponse":{"type":"object","description":"A stable page ordered by start time and record ID descending.","additionalProperties":false,"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TeleportationHistoryResponse"}},"totalCount":{"type":"integer","format":"int64"},"pageNumber":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"hasMore":{"type":"boolean"}}},"TeleportationHistoryResponse":{"type":"object","description":"Immutable attempt metadata and its last persisted execution evidence.","additionalProperties":false,"required":["id","playerId","playerName","kind","status","paymentStatus"],"properties":{"id":{"type":"string"},"playerId":{"type":"string"},"playerName":{"type":"string","description":"Cached name at the start; empty when unavailable."},"kind":{"type":"string"},"origin":{"description":"Cached source position, or null when unavailable; not a synchronized native read.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/TeleportationHistoryPosition"}]},"destination":{"description":"Requested coordinates, or cached target position. Y=-1 requests ground placement; this does not confirm arrival.","nullable":true,"oneOf":[{"$ref":"#/components/schemas/TeleportationHistoryPosition"}]},"targetPlayerId":{"type":"string","nullable":true},"targetName":{"type":"string","nullable":true},"targetPlayerIdOrName":{"type":"string","nullable":true},"actor":{"type":"string","nullable":true},"status":{"type":"string","description":"Pending survives interruption; Accepted confirms native acceptance only; Uncertain may have executed."},"nativeStatus":{"type":"string","nullable":true},"cost":{"type":"integer","description":"Requested whole-unit cost; consult PaymentStatus rather than treating this as an actual debit.","format":"int64"},"paymentStatus":{"type":"string"},"paymentReferenceId":{"type":"string","nullable":true},"requestId":{"type":"string","description":"Player-web request UUID, or null for other entry points; uniquely claims one execution per player and save.","nullable":true},"destinationId":{"type":"string","description":"Stable home or landmark ID bound to a web request, independent of mutable display names.","nullable":true},"startedAt":{"type":"string","description":"UTC time the pending attempt was persisted, before payment or native execution.","format":"date-time"},"completedAt":{"type":"string","description":"UTC time execution returned; null when completion could not be persisted.","format":"date-time","nullable":true}}},"FriendTeleportConfigurationResponse":{"type":"object","description":"Returns persisted player-to-player teleport rules.","additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Gets whether player-to-player teleport requests are enabled."},"teleportCost":{"type":"integer","description":"Gets the whole-unit balance cost charged when a request is accepted.","format":"int64"},"requestTimeoutSeconds":{"type":"integer","description":"Gets the number of seconds before an unanswered request expires.","format":"int32"},"requesterCooldownSeconds":{"type":"integer","description":"Gets the requester's cooldown after a successful teleport.","format":"int32"},"targetCooldownSeconds":{"type":"integer","description":"Gets the target's cooldown after accepting a successful teleport.","format":"int32"},"command":{"description":"Gets the effective player-facing friend request command route.","oneOf":[{"$ref":"#/components/schemas/FriendTeleportCommandResponse"}]},"updatedAt":{"type":"string","description":"Gets the UTC instant when these rules were last replaced.","format":"date-time"}}},"FriendTeleportCommandResponse":{"type":"object","description":"Returns the effective friend request command route.","additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"name":{"type":"string"},"aliases":{"type":"array","items":{"type":"string"}},"description":{"description":"Gets the localized default, effective content, and override state.","oneOf":[{"$ref":"#/components/schemas/ChatCommandDescription"}]}}},"FriendTeleportConfigurationRequest":{"type":"object","description":"Defines enablement, timeout, and cooldown rules for player-to-player teleport requests.","additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Gets whether player-to-player teleport requests may operate."},"teleportCost":{"type":"integer","description":"Gets the whole-unit balance cost charged when a request is accepted; zero is free.","format":"int64"},"requestTimeoutSeconds":{"type":"integer","description":"Gets how long a target may answer a request, from 5 through 300 seconds.","format":"int32"},"requesterCooldownSeconds":{"type":"integer","description":"Gets the requester's cooldown after a successful teleport.","format":"int32"},"targetCooldownSeconds":{"type":"integer","description":"Gets the target's cooldown after accepting a successful teleport.","format":"int32"},"command":{"description":"Gets editable routing metadata for the friend request command.","oneOf":[{"$ref":"#/components/schemas/FriendTeleportCommandRequest"}]}}},"FriendTeleportCommandRequest":{"type":"object","description":"Defines the player-facing friend request command route.","additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Gets whether the command participates in chat routing."},"name":{"type":"string","description":"Gets the canonical command name without a leading slash.","nullable":true},"aliases":{"type":"array","description":"Gets alternative command names without leading slashes.","items":{"type":"string"}},"descriptionOverride":{"type":"string","description":"Gets an optional administrator description override.","nullable":true}}},"VotingMessageTemplatesResponse":{"type":"object","description":"Returns the fixed voting-template catalog merged with global administrator overrides.","additionalProperties":false,"required":["language"],"properties":{"requestedLanguage":{"type":"string","description":"Gets the normalized requested language, or null when server language selection was used.","nullable":true},"language":{"type":"string","description":"Gets the embedded-resource language actually selected after fallback."},"availableLanguages":{"type":"array","description":"Gets languages for which Voting embeds native default resources.","items":{"type":"string"}},"templates":{"type":"array","description":"Gets every fixed template and its effective content.","items":{"$ref":"#/components/schemas/VotingMessageTemplateResponse"}}}},"VotingMessageTemplateResponse":{"type":"object","description":"Describes one fixed voting message template and its current global override.","additionalProperties":false,"required":["key","description","content","defaultContent"],"properties":{"key":{"type":"string","description":"Gets the stable template key used by the Voting module."},"description":{"type":"string","description":"Gets the business event for which this template is rendered."},"content":{"type":"string","description":"Gets the effective content: the global override when present, otherwise the selected default."},"defaultContent":{"type":"string","description":"Gets the selected embedded default independently of any global override."},"isCustomized":{"type":"boolean","description":"Gets whether SQLite currently contains a global override for this key."},"updatedAt":{"type":"string","description":"Gets when the global override was last changed, as UTC; null for defaults.","format":"date-time","nullable":true},"variables":{"type":"array","description":"Gets the optional variables accepted by this template.","items":{"$ref":"#/components/schemas/VotingMessageTemplateVariableResponse"}}}},"VotingMessageTemplateVariableResponse":{"type":"object","description":"Describes one optional variable accepted by a fixed voting template.","additionalProperties":false,"required":["name","token","description"],"properties":{"name":{"type":"string","description":"Gets the case-sensitive variable name without braces."},"token":{"type":"string","description":"Gets the exact token inserted into template content."},"description":{"type":"string","description":"Gets the runtime value represented by this variable."},"required":{"type":"boolean","description":"Gets whether saving requires this variable to appear in the template."}}},"VotingMessageTemplateRequest":{"type":"object","description":"Replaces the single global override for one fixed voting message template.","additionalProperties":false,"required":["content"],"properties":{"content":{"type":"string","description":"Gets template content using only variables declared by the fixed catalog.","maxLength":500,"minLength":1}}},"VotingConfigurationResponse":{"type":"object","description":"Returns persisted voting rules and current chat-command metadata.","additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Gets whether new voting sessions may be started."},"durationSeconds":{"type":"integer","description":"Gets the captured lifetime for new votes, in seconds.","format":"int32"},"approvalRatio":{"type":"number","description":"Gets the captured approval fraction for new votes.","format":"double"},"minimumOnlinePlayers":{"type":"integer","description":"Gets the online population required to start a new vote.","format":"int32"},"initiatorAutomaticallyApproves":{"type":"boolean","description":"Gets whether a new vote starts with its initiator's approval."},"allowRestart":{"type":"boolean","description":"Gets whether restart votes may be started."},"allowKick":{"type":"boolean","description":"Gets whether player-kick votes may be started."},"protectAdministrators":{"type":"boolean","description":"Gets whether observed game administrators are protected from kick votes."},"globalCooldownSeconds":{"type":"integer","description":"Gets the server-wide post-vote cooldown, in seconds.","format":"int32"},"initiatorCooldownSeconds":{"type":"integer","description":"Gets the initiating player's post-vote cooldown, in seconds.","format":"int32"},"kickTargetImmunitySeconds":{"type":"integer","description":"Gets the immunity period applied after a player is successfully kicked, in seconds.","format":"int32"},"commands":{"type":"array","description":"Gets all three stable voting command descriptors.","items":{"$ref":"#/components/schemas/VotingChatCommandResponse"}},"updatedAt":{"type":"string","description":"Gets the UTC instant when this configuration was last replaced.","format":"date-time"}}},"VotingChatCommandResponse":{"type":"object","description":"Returns effective metadata for one stable voting command behavior.","additionalProperties":false,"required":["commandId","name","description"],"properties":{"commandId":{"type":"string","description":"Gets the stable behavior ID, unaffected by command renames."},"enabled":{"type":"boolean","description":"Gets whether this command is currently routable."},"name":{"type":"string","description":"Gets the effective canonical command token."},"aliases":{"type":"array","description":"Gets the effective alternative command tokens.","items":{"type":"string"}},"description":{"description":"Gets the effective, default, and customization state for the command description.","oneOf":[{"$ref":"#/components/schemas/ChatCommandDescription"}]},"usage":{"type":"array","description":"Gets behavior-owned argument patterns; these are not editable metadata.","items":{"type":"string"}}}},"VotingConfigurationRequest":{"type":"object","description":"Defines voting rules and editable chat-command metadata.","additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Gets whether new voting sessions may be started."},"durationSeconds":{"type":"integer","description":"Gets the lifetime of a newly started vote, from 10 through 3600 seconds.","format":"int32"},"approvalRatio":{"type":"number","description":"Gets the required approval fraction, greater than zero and at most one.","format":"double"},"minimumOnlinePlayers":{"type":"integer","description":"Gets the minimum online population required to start a vote.","format":"int32"},"initiatorAutomaticallyApproves":{"type":"boolean","description":"Gets whether a vote initiator begins with an approval recorded."},"allowRestart":{"type":"boolean","description":"Gets whether new restart votes are permitted."},"allowKick":{"type":"boolean","description":"Gets whether new player-kick votes are permitted."},"protectAdministrators":{"type":"boolean","description":"Gets whether players with an observed administrator permission level are protected from kick votes."},"globalCooldownSeconds":{"type":"integer","description":"Gets the server-wide delay after a vote finishes before another vote may start, in seconds; zero disables it.","format":"int32"},"initiatorCooldownSeconds":{"type":"integer","description":"Gets the delay after a player's vote finishes before that player may start another vote, in seconds; zero disables it.","format":"int32"},"kickTargetImmunitySeconds":{"type":"integer","description":"Gets how long a successfully kicked player cannot be targeted by another kick vote, in seconds; zero disables it.","format":"int32"},"commands":{"type":"array","description":"Gets the complete set of stable voting commands to replace atomically.","items":{"$ref":"#/components/schemas/VotingChatCommandRequest"}}}},"VotingChatCommandRequest":{"type":"object","description":"Defines editable routing and discovery metadata for one stable voting behavior.","additionalProperties":false,"properties":{"commandId":{"type":"string","description":"Gets the stable behavior ID; changing it does not create a new behavior.","nullable":true},"enabled":{"type":"boolean","description":"Gets whether the shortcut participates in routing; the root vote command must remain enabled."},"name":{"type":"string","description":"Gets the canonical command token without a leading slash.","nullable":true},"aliases":{"type":"array","description":"Gets alternative command tokens without leading slashes.","items":{"type":"string"}},"descriptionOverride":{"type":"string","description":"Gets the optional language-independent description override. An empty value restores\nthe Voting-owned localized default.","nullable":true}}},"HostCpuTimes":{"type":"object","additionalProperties":false,"required":["userTime","kernelTime","idleTime"],"properties":{"userTime":{"type":"integer","format":"uint64"},"kernelTime":{"type":"integer","format":"uint64"},"idleTime":{"type":"integer","format":"uint64"}}},"HostMemoryInfo":{"type":"object","additionalProperties":false,"required":["totalPhysicalBytes","availablePhysicalBytes","totalVirtualBytes","availableVirtualBytes","usedPercentage"],"properties":{"totalPhysicalBytes":{"type":"integer","format":"uint64"},"availablePhysicalBytes":{"type":"integer","format":"uint64"},"totalVirtualBytes":{"type":"integer","format":"uint64"},"availableVirtualBytes":{"type":"integer","format":"uint64"},"usedPercentage":{"type":"integer"}}},"HostDiskInfo":{"type":"object","additionalProperties":false,"required":["name","rootPath","driveType","fileSystem","totalBytes","availableBytes"],"properties":{"name":{"type":"string"},"rootPath":{"type":"string"},"driveType":{"type":"string"},"fileSystem":{"type":"string"},"totalBytes":{"type":"integer","format":"uint64"},"availableBytes":{"type":"integer","format":"uint64"}}},"HostNetworkInfo":{"type":"object","additionalProperties":false,"required":["id","name","description","networkType","speed","ipAddresses","bytesReceived","bytesSent"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"networkType":{"type":"string"},"speed":{"type":"integer","format":"int64"},"ipAddresses":{"type":"array","items":{"type":"string"}},"bytesReceived":{"type":"integer","format":"int64"},"bytesSent":{"type":"integer","format":"int64"}}},"HostPlatformInfo":{"type":"object","additionalProperties":false,"required":["deviceModel","deviceName","deviceType","deviceUniqueIdentifier","operatingSystem","operatingSystemFamily","processorCount","processorFrequency","processorType","systemMemorySize","frameworkVersion","userName"],"properties":{"deviceModel":{"type":"string"},"deviceName":{"type":"string"},"deviceType":{"type":"string"},"deviceUniqueIdentifier":{"type":"string"},"operatingSystem":{"type":"string"},"operatingSystemFamily":{"type":"string"},"processorCount":{"type":"integer","format":"int32"},"processorFrequency":{"type":"integer","format":"int32"},"processorType":{"type":"string"},"systemMemorySize":{"type":"integer","format":"int32"},"frameworkVersion":{"type":"string"},"userName":{"type":"string"}}},"HostMetricsSnapshot":{"type":"object","additionalProperties":false,"required":["capturedAt","storage","network"],"properties":{"capturedAt":{"type":"string","format":"date-time"},"cpuTimes":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/HostCpuTimes"}]},"memory":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/HostMemoryInfo"}]},"storage":{"type":"array","items":{"$ref":"#/components/schemas/HostDiskInfo"}},"network":{"type":"array","items":{"$ref":"#/components/schemas/HostNetworkInfo"}}}},"AutomationTasksResponse":{"type":"object","description":"Returns the enabled tasks currently loaded by the runtime scheduler.","additionalProperties":false,"required":["items"],"properties":{"items":{"type":"array","description":"Gets tasks ordered by task type and source ID.","items":{"$ref":"#/components/schemas/AutomationTaskItem"}}}},"AutomationTaskItem":{"type":"object","description":"Describes one enabled task in the scheduler's current runtime snapshot.","additionalProperties":false,"required":["taskType","sourceId","cronExpression","timeZone"],"properties":{"taskType":{"type":"string","description":"Gets the stable discriminator registered by the owning business module."},"sourceId":{"type":"string","description":"Gets the stable identifier of the owning business resource."},"cronExpression":{"type":"string","description":"Gets the standard five-field Cron expression currently loaded by the scheduler."},"timeZone":{"type":"string","description":"Gets the IANA time-zone identifier used to evaluate the schedule."},"nextRunAt":{"type":"string","description":"Gets the next planned occurrence as a UTC timestamp.","format":"date-time"}}},"AutomationRunsResponse":{"type":"object","description":"Returns one page of execution history with stable pagination metadata.","additionalProperties":false,"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AutomationRunItem"}},"totalCount":{"type":"integer","format":"int64"},"pageNumber":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"hasMore":{"type":"boolean"}}},"AutomationRunItem":{"type":"object","description":"Describes one claimed scheduled occurrence and its latest outcome.","additionalProperties":false,"required":["id","taskType","sourceId"],"properties":{"id":{"type":"string"},"taskType":{"type":"string"},"sourceId":{"type":"string"},"scheduledAt":{"type":"string","format":"date-time"},"startedAt":{"type":"string","format":"date-time"},"completedAt":{"type":"string","format":"date-time","nullable":true},"status":{"$ref":"#/components/schemas/AutomationRunStatus"},"error":{"type":"string","nullable":true}}},"AutomationRunStatus":{"type":"string","description":"Defines statuses exposed by automation run history.","x-enumNames":["Running","Succeeded","Skipped","Failed"],"enum":["Running","Succeeded","Skipped","Failed"]},"CronPreviewResponse":{"type":"object","description":"Lists future UTC occurrences calculated from an operator-supplied schedule.","additionalProperties":false,"required":["occurrences"],"properties":{"occurrences":{"type":"array","items":{"type":"string","format":"date-time"}}}},"CronPreviewRequest":{"type":"object","description":"Requests a bounded preview of a portable Cron schedule.","additionalProperties":false,"properties":{"cronExpression":{"type":"string","description":"Gets the standard five-field Cron expression to evaluate.","nullable":true},"timeZone":{"type":"string","description":"Gets an IANA time-zone ID, or UTC.","nullable":true},"count":{"type":"integer","description":"Gets the number of future occurrences to return, from 1 through 50.","format":"int32"}}},"BackupConfigurationResponse":{"type":"object","description":"Returns the effective backup retention and schedule configuration.","additionalProperties":false,"required":["cronExpression","timeZone"],"properties":{"enabled":{"type":"boolean","description":"Gets whether the scheduled backup task is active."},"retentionDays":{"type":"integer","description":"Gets the retention window in days; zero means forever.","format":"int32"},"maxBackupCount":{"type":"integer","description":"Gets the maximum retained completed backup count.","format":"int32"},"format":{"description":"Gets the archive format used by scheduled backups.","oneOf":[{"$ref":"#/components/schemas/BackupArchiveFormat"}]},"cronExpression":{"type":"string","description":"Gets the standard five-field Cron expression."},"timeZone":{"type":"string","description":"Gets the selected IANA time-zone identifier."},"updatedAt":{"type":"string","description":"Gets when the configuration was last updated, in UTC.","format":"date-time"}}},"BackupArchiveFormat":{"type":"string","description":"Controls whether a backup is kept as a directory tree or a ZIP archive.","x-enumNames":["Directory","Zip"],"enum":["Directory","Zip"]},"BackupConfigurationRequest":{"type":"object","description":"Replaces the backup module's retention and optional scheduled-task configuration.","additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Gets whether the Automation-owned backup task should be registered."},"retentionDays":{"type":"integer","description":"Gets the retention window in days; zero keeps completed backups forever.","format":"int32","maximum":3650,"minimum":0},"maxBackupCount":{"type":"integer","description":"Gets the maximum count of completed backups retained after a new backup.","format":"int32","maximum":1000,"minimum":1},"format":{"description":"Gets the archive format used by scheduled backups.","oneOf":[{"$ref":"#/components/schemas/BackupArchiveFormat"}]},"cronExpression":{"type":"string","description":"Gets the standard five-field Cron expression.","maxLength":100,"minLength":0,"nullable":true},"timeZone":{"type":"string","description":"Gets an IANA time-zone identifier, or UTC.","maxLength":100,"minLength":0,"nullable":true}}},"BackupsResponse":{"type":"object","description":"Returns known backup records across all saves.","additionalProperties":false,"properties":{"items":{"type":"array","description":"Gets records ordered from newest to oldest.","items":{"$ref":"#/components/schemas/BackupRecordResponse"}}}},"BackupRecordResponse":{"type":"object","description":"Describes one persisted backup record for a WorldName/GameName save.","additionalProperties":false,"required":["backupId","worldName","gameName","relativePath"],"properties":{"backupId":{"type":"string","description":"Gets the stable backup identifier used by lookup and delete routes."},"displayName":{"type":"string","description":"Gets the optional operator label.","nullable":true},"worldName":{"type":"string","description":"Gets the game-native world name captured at creation time."},"gameName":{"type":"string","description":"Gets the game-native save key captured at creation time."},"format":{"description":"Gets the archive representation.","oneOf":[{"$ref":"#/components/schemas/BackupArchiveFormat"}]},"relativePath":{"type":"string","description":"Gets the path relative to the configured backup root."},"createdAt":{"type":"string","description":"Gets when the backup record was created, in UTC.","format":"date-time"},"completedAt":{"type":"string","description":"Gets when the copy reached a terminal state, in UTC.","format":"date-time","nullable":true},"status":{"description":"Gets the best-effort copy result.","oneOf":[{"$ref":"#/components/schemas/BackupRecordStatus"}]},"fileCount":{"type":"integer","description":"Gets the number of files successfully copied or added.","format":"int64"},"totalBytes":{"type":"integer","description":"Gets the sum of successfully copied file sizes.","format":"int64"},"failedFileCount":{"type":"integer","description":"Gets the number of files that could not be copied.","format":"int64"},"warning":{"type":"string","description":"Gets a bounded operator-facing warning or failure description.","nullable":true}}},"BackupRecordStatus":{"type":"string","description":"Describes the result of copying a native save into a backup.","x-enumNames":["Running","Completed","CompletedWithWarnings","Failed"],"enum":["Running","Completed","CompletedWithWarnings","Failed"]},"CreateBackupRequest":{"type":"object","description":"Requests an online best-effort copy of the current native save.","additionalProperties":false,"properties":{"displayName":{"type":"string","description":"Gets an optional operator label shown in the backup list.","maxLength":100,"minLength":0,"nullable":true},"format":{"description":"Gets the persisted representation, defaulting to an uncompressed directory tree.","oneOf":[{"$ref":"#/components/schemas/BackupArchiveFormat"}]}}},"WelcomeAnnouncementResponse":{"type":"object","description":"Returns the persisted welcome-announcement configuration.","additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"senderName":{"type":"string","nullable":true},"updatedAt":{"type":"string","format":"date-time"}}},"WelcomeAnnouncementRequest":{"type":"object","description":"Configures private messages sent when a player enters a multiplayer session.","additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"senderName":{"type":"string","nullable":true}}},"AnnouncementResponse":{"type":"object","description":"Returns persisted announcement configuration and its derived next occurrence.","additionalProperties":false,"required":["id","name","message","cronExpression","timeZone"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"message":{"type":"string"},"senderName":{"type":"string","nullable":true},"enabled":{"type":"boolean"},"cronExpression":{"type":"string"},"timeZone":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"nextRunAt":{"type":"string","format":"date-time","nullable":true}}},"AnnouncementRequest":{"type":"object","description":"Defines announcement content and its standard five-field Cron schedule.","additionalProperties":false,"properties":{"name":{"type":"string","description":"Gets the operator-facing name, limited to 100 trimmed characters.","nullable":true},"message":{"type":"string","description":"Gets the global chat message, limited to 500 trimmed characters.","nullable":true},"senderName":{"type":"string","description":"Gets the optional display label, limited to 64 trimmed single-line characters.","nullable":true},"enabled":{"type":"boolean","description":"Gets whether this configuration contributes a runtime schedule."},"cronExpression":{"type":"string","description":"Gets the standard five-field Cron expression.","nullable":true},"timeZone":{"type":"string","description":"Gets an IANA time-zone ID, or UTC.","nullable":true}}},"AnnouncementMessageTemplatesResponse":{"type":"object","description":"Returns fixed event-announcement templates merged with global overrides.","additionalProperties":false,"required":["language"],"properties":{"requestedLanguage":{"type":"string","description":"Gets the normalized requested language, or null when server language selection was used.","nullable":true},"language":{"type":"string","description":"Gets the embedded-resource language selected after fallback."},"availableLanguages":{"type":"array","description":"Gets languages for which Announcements embeds native defaults.","items":{"type":"string"}},"templates":{"type":"array","description":"Gets every fixed event template and its effective content.","items":{"$ref":"#/components/schemas/AnnouncementMessageTemplateResponse"}}}},"AnnouncementMessageTemplateResponse":{"type":"object","description":"Describes one fixed event-announcement template and its global override.","additionalProperties":false,"required":["key","description","content","defaultContent"],"properties":{"key":{"type":"string","description":"Gets the stable module-owned template key."},"description":{"type":"string","description":"Gets the management description for this event-announcement message."},"content":{"type":"string","description":"Gets the global override when present; otherwise, the selected embedded default."},"defaultContent":{"type":"string","description":"Gets the embedded default selected for the management-request language."},"isCustomized":{"type":"boolean","description":"Gets whether Content comes from the global SQLite override."},"updatedAt":{"type":"string","description":"Gets when the global override was last replaced, expressed as a UTC timestamp.","format":"date-time","nullable":true},"variables":{"type":"array","description":"Gets the optional variables accepted by this template.","items":{"$ref":"#/components/schemas/AnnouncementMessageTemplateVariableResponse"}}}},"AnnouncementMessageTemplateVariableResponse":{"type":"object","description":"Describes one optional variable accepted by an event-announcement template.","additionalProperties":false,"required":["name","token","valueType","description"],"properties":{"name":{"type":"string","description":"Gets the variable name without braces."},"token":{"type":"string","description":"Gets the exact token accepted in template content."},"valueType":{"type":"string","description":"Gets the value category exposed by the event context."},"description":{"type":"string","description":"Gets the business value represented by the variable."},"required":{"type":"boolean","description":"Gets whether saved content must contain this variable."}}},"AnnouncementMessageTemplateRequest":{"type":"object","description":"Replaces the global override for one fixed event-announcement template.","additionalProperties":false,"required":["content"],"properties":{"content":{"type":"string","description":"Gets the replacement content for the language-independent global override.","maxLength":500,"minLength":1}}},"BloodMoonAnnouncementResponse":{"type":"object","description":"Returns the persisted blood-moon announcement configuration.","additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"senderName":{"type":"string","nullable":true},"updatedAt":{"type":"string","format":"date-time"}}},"BloodMoonAnnouncementRequest":{"type":"object","description":"Configures global announcements emitted at blood-moon-related sky transitions.","additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"senderName":{"type":"string","nullable":true}}},"SteamLoginAvailabilityResponse":{"type":"object","description":"Allows the browser to check Steam login and detect callback-origin mismatches before authorization.","additionalProperties":false,"required":["enabled","publicOrigin"],"properties":{"enabled":{"type":"boolean","description":"Whether Steam login is enabled and a public callback origin is available."},"publicOrigin":{"type":"string","description":"Configured or registered callback origin; empty until available. Compare with the browser origin before starting login."}}},"PlayerLoginOptionsResponse":{"type":"object","description":"Public player login options without revealing identities or credentials.","additionalProperties":false,"properties":{"steam":{"description":"Gets independent player Steam availability and the trusted origin used for browser binding.","oneOf":[{"$ref":"#/components/schemas/SteamLoginAvailabilityResponse"}]},"webCommand":{"type":"string","description":"Gets the effective login-code command with its prefix; empty when no handler is registered."},"webCommandEnabled":{"type":"boolean","description":"Gets whether Chat and the command are enabled with a public login origin; the player must also be online."}}},"PlayerSessionResponse":{"type":"object","description":"Player session data, independent of whether the game connection remains active.","additionalProperties":false,"properties":{"playerId":{"type":"string"},"playerName":{"type":"string"},"isOnline":{"type":"boolean"}}}},"securitySchemes":{"basic":{"type":"http","description":"HTTP Basic authentication.","scheme":"basic"},"oauth2":{"type":"oauth2","description":"OAuth2 password grant with rotating refresh tokens.","flows":{"password":{"tokenUrl":"/oauth/token","refreshUrl":"/oauth/token"}}},"playerBearer":{"type":"http","description":"Player token issued by player_code or player_steam_code for client_id=7dpanel-player. Administrator tokens and Basic authentication are not accepted.","scheme":"bearer"}}},"security":[{"basic":[]},{"oauth2":[]}],"tags":[{"name":"GameServer","description":"Game-server management endpoints for server control, console commands, localization, player queries, and messaging."},{"name":"ChatHistory","description":"Queries persisted messages observed by the server-side chat event bridge."},{"name":"HostMonitoring","description":"Exposes authenticated host operating-system telemetry endpoints."},{"name":"Licensing","description":"Shows commercial feature access and manages this installation's license activation."},{"name":"Webhooks","description":"Configures administrator-owned outbound game-event subscriptions, optional HMAC signatures, and protected request headers."},{"name":"Player Center","description":"Provides player login and sessions, server information, maps, command help, economy, shop purchases, and self-service teleportation."},{"name":"Chat","description":"Manages chat configuration, command routing, and message templates."},{"name":"Economy","description":"Manages virtual currency accounts, rewards, penalties, and transaction history."},{"name":"Shop","description":"Manages shop configuration, products, purchases, fulfillment resolution, and message templates."},{"name":"Teleportation","description":"Manages player homes, landmark destinations, player-to-player teleport rules, and travel message templates."},{"name":"Voting","description":"Manages voting rules, chat commands, and player-facing message templates."},{"name":"Automation","description":"Exposes scheduler task previews, registered tasks, and execution history."},{"name":"Backups","description":"Creates, lists, and deletes online best-effort save copies."},{"name":"Announcements","description":"Manages scheduled and event-driven in-game announcements."},{"name":"Authentication","description":"Issues and refreshes shared access tokens and provides administrator Steam login flows."}]}