Nakama API
The Nakama API is the core REST and WebSocket API for Heroic Labs' open-source game backend server. It provides endpoints for user authentication (social, device, email, and custom), account management, multiplayer matchmaking, real-time gameplay via WebSocket, leaderboards, tournaments, group and friend management, in-app notifications, storage, and remote procedure calls (RPC). The gRPC interface mirrors the HTTP API and is suited for server-to-server integrations. Client SDKs are available for Unity, Unreal Engine, Godot, JavaScript, Dart, Java, Swift, C++, and Defold.
Nakama API is one of 4 APIs that Heroic Labs publishes on the APIs.io network, described by a machine-readable OpenAPI specification.
Tagged areas include Game Backend, Multiplayer, Matchmaking, Leaderboards, and WebSocket. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and a GitHub repository.
This API exposes
87 operations
across 73 paths,
and defines 75 schemas.
It is described by OpenAPI 3.2.0, at version 2.0.
Requests are made against a single base URL, http://127.0.0.1:7350.
The identity and technical contract details declared by the specification.
apiValidatePurchaseResponse
object
Validate IAP response.
1 property
apiAccountEmail
object
Send an email with password to the server. Used with authenticate/link/unlink.
3 properties
apiParty
object
Incoming information about a party.
5 properties
apiChannelMessageList
object
A list of channel messages, usually a result of a list operation.
4 properties
apiSessionLogoutRequest
object
Log out a session, invalidate a refresh token, or log out all sessions/refresh tokens for a user.
2 properties
apiMatch
object
Represents a realtime match.
6 properties
apiTournamentRecordList
object
A set of tournament records which may be part of a tournament records page or a batch of individual records.
5 properties
apiValidatePurchaseAppleRequest
object
2 properties
apiValidateSubscriptionAppleRequest
object
2 properties
apiRpc
object
Execute an Lua function on the server.
3 properties
WriteLeaderboardRecordRequestLeaderboardRecordWrite
object
Record values to write.
4 properties
FriendsOfFriendsListFriendOfFriend
object
A friend of a friend.
2 properties
apiChannelMessage
object
A message sent on a channel.
13 properties
apiValidatedPurchase
object
Validated Purchase stored by Nakama.
11 properties
apiStorageObjects
object
Batch of storage objects.
1 property
apiAccountFacebook
object
Send a Facebook token to the server. Used with authenticate/link/unlink.
2 properties
apiPartyList
object
A list of realtime matches.
2 properties
apiLinkSteamRequest
object
Link Steam to the current user's account.
2 properties
apiAccountCustom
object
Send a custom ID to the server. Used with authenticate/link/unlink.
2 properties
apiAccountApple
object
Send a Apple Sign In token to the server. Used with authenticate/link/unlink.
2 properties
apiStorageObject
object
An object within the storage engine.
9 properties
UserGroupListUserGroup
object
A single group-role pair.
2 properties
apiAccountFacebookInstantGame
object
Send a Facebook Instant Game token to the server. Used with authenticate/link/unlink.
2 properties
apiValidatePurchaseGoogleRequest
object
2 properties
apiAccountGameCenter
object
Send Apple's Game Center account credentials to the server. Used with authenticate/link/unlink. https://developer.apple.com/documentation/gamekit/gklocalplayer…
7 properties
apiStorageObjectAcks
object
Batch of acknowledgements for the storage object write.
1 property
apiStorageObjectList
object
List of storage objects.
2 properties
apiDeleteStorageObjectId
object
Storage objects to delete.
3 properties
apiValidatedSubscription
object
13 properties
apiTournamentList
object
A list of tournaments.
2 properties
apiAccountSteam
object
Send a Steam token to the server. Used with authenticate/link/unlink.
2 properties
apiSubscriptionList
object
A list of validated subscriptions stored by Nakama.
3 properties
apiReadStorageObjectsRequest
object
Batch get storage objects.
1 property
apiSession
object
A user's session used to authenticate messages.
3 properties
WriteTournamentRecordRequestTournamentRecordWrite
object
Record values to write.
4 properties
rpcStatus
object
3 properties
apiAccount
object
A user with additional account details. Always the current user.
7 properties
apiSessionRefreshRequest
object
Authenticate against the server with a refresh token.
2 properties
apiMatchmakerStats
object
3 properties
protobufAny
object
1 property
apiUser
object
A user in the server.
18 properties
apiValidateSubscriptionGoogleRequest
object
2 properties
apiAccountGoogle
object
Send a Google token to the server. Used with authenticate/link/unlink.
2 properties
apiEvent
object
Represents an event to be passed through the server to registered event handlers.
4 properties
apiReadStorageObjectId
object
Storage objects to get.
3 properties
apiStorageObjectAck
object
A storage acknowledgement.
6 properties
apiMatchList
object
A list of realtime matches.
1 property
apiUsers
object
A collection of zero or more users.
1 property
apiFriend
object
A friend of a user.
4 properties
apiStoreEnvironment
string
- UNKNOWN: Unknown environment. - SANDBOX: Sandbox/test environment. - PRODUCTION: Production environment.
apiDeleteStorageObjectsRequest
object
Batch delete storage objects.
1 property
apiListSubscriptionsRequest
object
List user subscriptions.
2 properties
apiStoreProvider
string
- APPLEAPPSTORE: Apple App Store - GOOGLEPLAYSTORE: Google Play Store - HUAWEIAPPGALLERY: Huawei App Gallery - FACEBOOKINSTANTSTORE: Facebook Instant Store
GroupUserListGroupUser
object
A single user-role pair.
2 properties
apiGroupList
object
One or more groups returned from a listing operation.
2 properties
apiFriendList
object
A collection of zero or more friends of the user.
2 properties
apiAccountDevice
object
Send a device to the server. Used with authenticate/link/unlink and user.
2 properties
apiGroup
object
A group in the server.
12 properties
apiFriendsOfFriendsList
object
2 properties
apiUpdateAccountRequest
object
Update a user's account details.
6 properties
apiOperator
string
Operator that can be used to override the one set in the leaderboard. - NOOVERRIDE: Do not override the leaderboard operator. - BEST: Override the leaderboard…
apiNotification
object
A notification in the server.
7 properties
apiUserGroupList
object
A list of groups belonging to a user, along with the user's role in each group.
2 properties
apiMatchmakerCompletionStats
object
2 properties
apiWriteStorageObject
object
The object to store.
6 properties
apiValidatePurchaseHuaweiRequest
object
3 properties
apiLeaderboardRecord
object
Represents a complete leaderboard record with all scores and associated metadata.
12 properties
apiGroupUserList
object
A list of users belonging to a group, along with their role.
2 properties
apiCreateGroupRequest
object
Create a group with the current user as owner.
6 properties
apiLeaderboardRecordList
object
A set of leaderboard records, may be part of a leaderboard records page or a batch of individual records.
5 properties
apiNotificationList
object
A collection of zero or more notifications.
2 properties
apiWriteStorageObjectsRequest
object
Write objects to the storage engine.
1 property
apiValidatePurchaseFacebookInstantRequest
object
2 properties
apiTournament
object
A tournament on the server.
21 properties
apiValidateSubscriptionResponse
object
Validate Subscription response.
1 property
The full machine-readable OpenAPI contract behind this narrative.
Other APIs Heroic Labs publishes across the network.