Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Heroic Labs Nakama API

The Nakama API from Heroic Labs — 73 operation(s) for nakama.

Heroic Labs Nakama API is one of 2 APIs that Heroic Labs publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Nakama. The published artifact set on APIs.io includes an OpenAPI specification.

This API exposes 87 operations across 73 paths, and defines 75 schemas. It is described by OpenAPI 2.0, at version 2.0.

Requests are made against the base URL https://cloud.heroiclabs.com.

87 operations 73 paths 75 schemas 6 DELETE22 GET54 POST5 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 2.0
API Version
2.0
Base URL
https://cloud.heroiclabs.com
Authentication
basic, API Key
Resource Areas
1

Authentication & Security 2

Heroic Labs Nakama API declares 2 security schemes for authenticating requests. It defines a basic scheme (BasicAuth). An API key is passed in the header as Authorization (BearerJwt). By default, every request must be authenticated.

Paths & Operations 87

Across 73 paths, the API surfaces 87 operations — 6 DELETE, 22 GET, 54 POST, 5 PUT. Each is listed below with its method, path, parameters, and response codes.

Nakama 87
GET
/healthcheck
A healthcheck which load balancers can use to check the service.
Nakama_Healthcheck → 200default
GET
/v2/account
Fetch the current user's account.
Nakama_GetAccount → 200default
DELETE
/v2/account
Delete the current user's account.
Nakama_DeleteAccount → 200default
PUT
/v2/account
Update fields in the current user's account.
Nakama_UpdateAccount 1 param → 200default
POST
/v2/account/authenticate/apple
Authenticate a user with an Apple ID against the server.
Nakama_AuthenticateApple 3 params → 200default
POST
/v2/account/authenticate/custom
Authenticate a user with a custom id against the server.
Nakama_AuthenticateCustom 3 params → 200default
POST
/v2/account/authenticate/device
Authenticate a user with a device id against the server.
Nakama_AuthenticateDevice 3 params → 200default
POST
/v2/account/authenticate/email
Authenticate a user with an email+password against the server.
Nakama_AuthenticateEmail 3 params → 200default
POST
/v2/account/authenticate/facebook
Authenticate a user with a Facebook OAuth token against the server.
Nakama_AuthenticateFacebook 4 params → 200default
POST
/v2/account/authenticate/facebookinstantgame
Authenticate a user with a Facebook Instant Game token against the server.
Nakama_AuthenticateFacebookInstantGame 3 params → 200default
POST
/v2/account/authenticate/gamecenter
Authenticate a user with Apple's GameCenter against the server.
Nakama_AuthenticateGameCenter 3 params → 200default
POST
/v2/account/authenticate/google
Authenticate a user with Google against the server.
Nakama_AuthenticateGoogle 3 params → 200default
POST
/v2/account/authenticate/steam
Authenticate a user with Steam against the server.
Nakama_AuthenticateSteam 4 params → 200default
POST
/v2/account/link/apple
Add an Apple ID to the social profiles on the current user's account.
Nakama_LinkApple 1 param → 200default
POST
/v2/account/link/custom
Add a custom ID to the social profiles on the current user's account.
Nakama_LinkCustom 1 param → 200default
POST
/v2/account/link/device
Add a device ID to the social profiles on the current user's account.
Nakama_LinkDevice 1 param → 200default
POST
/v2/account/link/email
Add an email+password to the social profiles on the current user's account.
Nakama_LinkEmail 1 param → 200default
POST
/v2/account/link/facebook
Add Facebook to the social profiles on the current user's account.
Nakama_LinkFacebook 2 params → 200default
POST
/v2/account/link/facebookinstantgame
Add Facebook Instant Game to the social profiles on the current user's account.
Nakama_LinkFacebookInstantGame 1 param → 200default
POST
/v2/account/link/gamecenter
Add Apple's GameCenter to the social profiles on the current user's account.
Nakama_LinkGameCenter 1 param → 200default
POST
/v2/account/link/google
Add Google to the social profiles on the current user's account.
Nakama_LinkGoogle 1 param → 200default
POST
/v2/account/link/steam
Add Steam to the social profiles on the current user's account.
Nakama_LinkSteam 1 param → 200default
POST
/v2/account/session/refresh
Refresh a user's session using a refresh token retrieved from a previous authentication request.
Nakama_SessionRefresh 1 param → 200default
POST
/v2/account/unlink/apple
Remove the Apple ID from the social profiles on the current user's account.
Nakama_UnlinkApple 1 param → 200default
POST
/v2/account/unlink/custom
Remove the custom ID from the social profiles on the current user's account.
Nakama_UnlinkCustom 1 param → 200default
POST
/v2/account/unlink/device
Remove the device ID from the social profiles on the current user's account.
Nakama_UnlinkDevice 1 param → 200default
POST
/v2/account/unlink/email
Remove the email+password from the social profiles on the current user's account.
Nakama_UnlinkEmail 1 param → 200default
POST
/v2/account/unlink/facebook
Remove Facebook from the social profiles on the current user's account.
Nakama_UnlinkFacebook 1 param → 200default
POST
/v2/account/unlink/facebookinstantgame
Remove Facebook Instant Game profile from the social profiles on the current user's account.
Nakama_UnlinkFacebookInstantGame 1 param → 200default
POST
/v2/account/unlink/gamecenter
Remove Apple's GameCenter from the social profiles on the current user's account.
Nakama_UnlinkGameCenter 1 param → 200default
POST
/v2/account/unlink/google
Remove Google from the social profiles on the current user's account.
Nakama_UnlinkGoogle 1 param → 200default
POST
/v2/account/unlink/steam
Remove Steam from the social profiles on the current user's account.
Nakama_UnlinkSteam 1 param → 200default
GET
/v2/channel/{channelId}
List a channel's message history.
Nakama_ListChannelMessages 4 params → 200default
POST
/v2/event
Submit an event for processing in the server's registered runtime custom events handler.
Nakama_Event 1 param → 200default
GET
/v2/friend
List all friends for the current user.
Nakama_ListFriends 3 params → 200default
DELETE
/v2/friend
Delete one or more users by ID or username.
Nakama_DeleteFriends 2 params → 200default
POST
/v2/friend
Add friends by ID or username to a user's account.
Nakama_AddFriends 3 params → 200default
POST
/v2/friend/block
Block one or more users by ID or username.
Nakama_BlockFriends 2 params → 200default
POST
/v2/friend/facebook
Import Facebook friends and add them to a user's account.
Nakama_ImportFacebookFriends 2 params → 200default
GET
/v2/friend/friends
List friends of friends for the current user.
Nakama_ListFriendsOfFriends 2 params → 200default
POST
/v2/friend/steam
Import Steam friends and add them to a user's account.
Nakama_ImportSteamFriends 2 params → 200default
GET
/v2/group
List groups based on given filters.
Nakama_ListGroups 6 params → 200default
POST
/v2/group
Create a new group with the current user as the owner.
Nakama_CreateGroup 1 param → 200default
DELETE
/v2/group/{groupId}
Delete a group by ID.
Nakama_DeleteGroup 1 param → 200default
PUT
/v2/group/{groupId}
Update fields in a given group.
Nakama_UpdateGroup 2 params → 200default
POST
/v2/group/{groupId}/add
Add users to a group.
Nakama_AddGroupUsers 2 params → 200default
POST
/v2/group/{groupId}/ban
Ban a set of users from a group.
Nakama_BanGroupUsers 2 params → 200default
POST
/v2/group/{groupId}/demote
Demote a set of users in a group to the next role down.
Nakama_DemoteGroupUsers 2 params → 200default
POST
/v2/group/{groupId}/join
Immediately join an open group, or request to join a closed one.
Nakama_JoinGroup 1 param → 200default
POST
/v2/group/{groupId}/kick
Kick a set of users from a group.
Nakama_KickGroupUsers 2 params → 200default
POST
/v2/group/{groupId}/leave
Leave a group the user is a member of.
Nakama_LeaveGroup 1 param → 200default
POST
/v2/group/{groupId}/promote
Promote a set of users in a group to the next role up.
Nakama_PromoteGroupUsers 2 params → 200default
GET
/v2/group/{groupId}/user
List all users that are part of a group.
Nakama_ListGroupUsers 4 params → 200default
POST
/v2/iap/purchase/apple
Validate Apple IAP Receipt
Nakama_ValidatePurchaseApple 1 param → 200default
POST
/v2/iap/purchase/facebookinstant
Validate FB Instant IAP Receipt
Nakama_ValidatePurchaseFacebookInstant 1 param → 200default
POST
/v2/iap/purchase/google
Validate Google IAP Receipt
Nakama_ValidatePurchaseGoogle 1 param → 200default
POST
/v2/iap/purchase/huawei
Validate Huawei IAP Receipt
Nakama_ValidatePurchaseHuawei 1 param → 200default
POST
/v2/iap/subscription
List user's subscriptions.
Nakama_ListSubscriptions 1 param → 200default
POST
/v2/iap/subscription/apple
Validate Apple Subscription Receipt
Nakama_ValidateSubscriptionApple 1 param → 200default
POST
/v2/iap/subscription/google
Validate Google Subscription Receipt
Nakama_ValidateSubscriptionGoogle 1 param → 200default
GET
/v2/iap/subscription/{productId}
Get subscription by product id.
Nakama_GetSubscription 1 param → 200default
GET
/v2/leaderboard/{leaderboardId}
List leaderboard records.
Nakama_ListLeaderboardRecords 5 params → 200default
DELETE
/v2/leaderboard/{leaderboardId}
Delete a leaderboard record.
Nakama_DeleteLeaderboardRecord 1 param → 200default
POST
/v2/leaderboard/{leaderboardId}
Write a record to a leaderboard.
Nakama_WriteLeaderboardRecord 2 params → 200default
GET
/v2/leaderboard/{leaderboardId}/owner/{ownerId}
List leaderboard records around the target ownerId.
Nakama_ListLeaderboardRecordsAroundOwner 5 params → 200default
GET
/v2/match
List running matches and optionally filter by matching criteria.
Nakama_ListMatches 6 params → 200default
GET
/v2/matchmaker/stats
Get matchmaker stats.
Nakama_GetMatchmakerStats → 200default
GET
/v2/notification
Fetch list of notifications.
Nakama_ListNotifications 2 params → 200default
DELETE
/v2/notification
Delete one or more notifications for the current user.
Nakama_DeleteNotifications 1 param → 200default
GET
/v2/party
List parties and optionally filter by matching criteria.
Nakama_ListParties 4 params → 200default
GET
/v2/rpc/{id}
Execute a Lua function on the server.
Nakama_RpcFunc2 3 params → 200default
POST
/v2/rpc/{id}
Execute a Lua function on the server.
Nakama_RpcFunc 3 params → 200default
POST
/v2/session/logout
Log out a session, invalidate a refresh token, or log out all sessions/refresh tokens for a user.
Nakama_SessionLogout 1 param → 200default
POST
/v2/storage
Get storage objects.
Nakama_ReadStorageObjects 1 param → 200default
PUT
/v2/storage
Write objects into the storage engine.
Nakama_WriteStorageObjects 1 param → 200default
PUT
/v2/storage/delete
Delete one or more objects by ID or username.
Nakama_DeleteStorageObjects 1 param → 200default
GET
/v2/storage/{collection}
List publicly readable storage objects in a given collection.
Nakama_ListStorageObjects 4 params → 200default
GET
/v2/storage/{collection}/{userId}
List publicly readable storage objects in a given collection.
Nakama_ListStorageObjects2 4 params → 200default
GET
/v2/tournament
List current or upcoming tournaments.
Nakama_ListTournaments 6 params → 200default
GET
/v2/tournament/{tournamentId}
List tournament records.
Nakama_ListTournamentRecords 5 params → 200default
DELETE
/v2/tournament/{tournamentId}
Delete a tournament record.
Nakama_DeleteTournamentRecord 1 param → 200default
POST
/v2/tournament/{tournamentId}
Write a record to a tournament.
Nakama_WriteTournamentRecord2 2 params → 200default
PUT
/v2/tournament/{tournamentId}
Write a record to a tournament.
Nakama_WriteTournamentRecord 2 params → 200default
POST
/v2/tournament/{tournamentId}/join
Attempt to join an open and running tournament.
Nakama_JoinTournament 1 param → 200default
GET
/v2/tournament/{tournamentId}/owner/{ownerId}
List tournament records for a given owner.
Nakama_ListTournamentRecordsAroundOwner 5 params → 200default
GET
/v2/user
Fetch zero or more users by ID and/or username.
Nakama_GetUsers 3 params → 200default
GET
/v2/user/{userId}/group
List groups the current user belongs to.
Nakama_ListUserGroups 4 params → 200default

Schemas 75

The contract defines 75 schemas that model the data the API accepts and returns. The most detailed are apiTournament (21 properties), apiUser (18 properties), apiChannelMessage (13 properties), apiValidatedSubscription (13 properties). Each schema is shown below with its type and property counts.

apiReadStorageObjectsRequest
object
Batch get storage objects.
1 property
apiFriendsOfFriendsList
object
2 properties
apiUsers
object
A collection of zero or more users.
1 property
apiMatchList
object
A list of realtime matches.
1 property
apiUserGroupList
object
A list of groups belonging to a user, along with the user's role in each group.
2 properties
FriendsOfFriendsListFriendOfFriend
object
A friend of a friend.
2 properties
apiValidatedSubscription
object
13 properties
apiLeaderboardRecord
object
Represents a complete leaderboard record with all scores and associated metadata.
12 properties
apiEvent
object
Represents an event to be passed through the server to registered event handlers.
4 properties
apiValidatePurchaseAppleRequest
object
2 properties
apiStorageObjectList
object
List of storage objects.
2 properties
GroupUserListGroupUser
object
A single user-role pair.
2 properties
apiValidateSubscriptionGoogleRequest
object
2 properties
apiPartyList
object
A list of realtime matches.
2 properties
apiStorageObjectAck
object
A storage acknowledgement.
6 properties
apiTournamentList
object
A list of tournaments.
2 properties
apiNotificationList
object
A collection of zero or more notifications.
2 properties
apiAccountCustom
object
Send a custom ID to the server. Used with authenticate/link/unlink.
2 properties
apiTournament
object
A tournament on the server.
21 properties
apiListSubscriptionsRequest
object
List user subscriptions.
2 properties
apiValidatePurchaseGoogleRequest
object
2 properties
apiStorageObjects
object
Batch of storage objects.
1 property
apiAccountApple
object
Send a Apple Sign In token to the server. Used with authenticate/link/unlink.
2 properties
apiGroupList
object
One or more groups returned from a listing operation.
2 properties
apiStorageObject
object
An object within the storage engine.
9 properties
apiDeleteStorageObjectId
object
Storage objects to delete.
3 properties
apiReadStorageObjectId
object
Storage objects to get.
3 properties
apiValidatePurchaseResponse
object
Validate IAP response.
1 property
apiValidatePurchaseHuaweiRequest
object
3 properties
apiWriteStorageObjectsRequest
object
Write objects to the storage engine.
1 property
WriteTournamentRecordRequestTournamentRecordWrite
object
Record values to write.
4 properties
apiStorageObjectAcks
object
Batch of acknowledgements for the storage object write.
1 property
apiAccountFacebook
object
Send a Facebook token to the server. Used with authenticate/link/unlink.
2 properties
apiMatch
object
Represents a realtime match.
6 properties
apiParty
object
Incoming information about a party.
5 properties
apiChannelMessage
object
A message sent on a channel.
13 properties
apiAccountSteam
object
Send a Steam token to the server. Used with authenticate/link/unlink.
2 properties
apiRpc
object
Execute an Lua function on the server.
3 properties
apiSubscriptionList
object
A list of validated subscriptions stored by Nakama.
3 properties
UserGroupListUserGroup
object
A single group-role pair.
2 properties
apiValidateSubscriptionAppleRequest
object
2 properties
apiLinkSteamRequest
object
Link Steam to the current user's account.
2 properties
apiGroupUserList
object
A list of users belonging to a group, along with their role.
2 properties
protobufAny
object
1 property
apiValidatePurchaseFacebookInstantRequest
object
2 properties
apiMatchmakerStats
object
3 properties
apiChannelMessageList
object
A list of channel messages, usually a result of a list operation.
4 properties
apiStoreEnvironment
string
- UNKNOWN: Unknown environment. - SANDBOX: Sandbox/test environment. - PRODUCTION: Production environment.
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
apiFriend
object
A friend of a user.
4 properties
apiAccountFacebookInstantGame
object
Send a Facebook Instant Game token to the server. Used with authenticate/link/unlink.
2 properties
apiGroup
object
A group in the server.
12 properties
WriteLeaderboardRecordRequestLeaderboardRecordWrite
object
Record values to write.
4 properties
apiSessionRefreshRequest
object
Authenticate against the server with a refresh token.
2 properties
apiMatchmakerCompletionStats
object
2 properties
apiAccountGoogle
object
Send a Google token to the server. Used with authenticate/link/unlink.
2 properties
apiSessionLogoutRequest
object
Log out a session, invalidate a refresh token, or log out all sessions/refresh tokens for a user.
2 properties
apiDeleteStorageObjectsRequest
object
Batch delete storage objects.
1 property
apiAccount
object
A user with additional account details. Always the current user.
7 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…
apiCreateGroupRequest
object
Create a group with the current user as owner.
6 properties
apiValidatedPurchase
object
Validated Purchase stored by Nakama.
11 properties
apiAccountDevice
object
Send a device to the server. Used with authenticate/link/unlink and user.
2 properties
apiValidateSubscriptionResponse
object
Validate Subscription response.
1 property
apiWriteStorageObject
object
The object to store.
6 properties
apiNotification
object
A notification in the server.
7 properties
apiFriendList
object
A collection of zero or more friends of the user.
2 properties
rpcStatus
object
3 properties
apiLeaderboardRecordList
object
A set of leaderboard records, may be part of a leaderboard records page or a batch of individual records.
5 properties
apiUpdateAccountRequest
object
Update a user's account details.
6 properties
apiStoreProvider
string
- APPLEAPPSTORE: Apple App Store - GOOGLEPLAYSTORE: Google Play Store - HUAWEIAPPGALLERY: Huawei App Gallery - FACEBOOKINSTANTSTORE: Facebook Instant Store
apiTournamentRecordList
object
A set of tournament records which may be part of a tournament records page or a batch of individual records.
5 properties
apiAccountEmail
object
Send an email with password to the server. Used with authenticate/link/unlink.
3 properties
apiSession
object
A user's session used to authenticate messages.
3 properties
apiUser
object
A user in the server.
18 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

heroic-labs-nakama-api-openapi.yml Raw ↑

Other APIs Heroic Labs publishes across the network.

Heroic Labs Console API