Problem Details
Validation, authentication, not-found and conflict responses use standard ASP.NET Core Problem Details JSON.
Developer documentation
Connect a Unity plugin or any HTTP client to the managed Community Support service. This reference is rendered from the live OpenAPI contract published by the service.
/api/v1Quick start
Every installation starts by exchanging its project public key and stable installation ID for a player ID and short opaque access token.
curl --request POST \
https://community.game-mode.dev/api/v1/player/identify \
--header "Content-Type: application/json" \
--data '{
"projectPublicKey": "pk_live_your_game",
"installationId": "device-installation-id",
"userId": "optional-game-account-id",
"context": {
"appVersion": "1.8.2",
"buildNumber": "142",
"platform": "Windows",
"locale": "en-US"
}
}'
Authentication
Every endpoint except player identification requires the token returned by the identify call. Send it only in the HTTP Authorization header; query-string tokens are rejected.
Authorization: Bearer pat_<opaque-token>
Identifying the same installation again rotates the token. Store it securely and replace the previous value.
API reference
Errors and limits
Validation, authentication, not-found and conflict responses use standard ASP.NET Core Problem Details JSON.
Rate-limited responses can include Retry-After. Clients should wait instead of retrying immediately.
A player can keep at most ten non-terminal tickets open at once.