Get desktop application:
View/edit binary Protocol Buffers messages
A user with additional account details. Always the current user.
The user object.
The user's wallet data.
The email address of the user.
The devices which belong to the user's account.
The custom id in the user's account.
The UNIX time (for gRPC clients) or ISO string (for REST clients) when the user's email was verified.
The UNIX time (for gRPC clients) or ISO string (for REST clients) when the user's account was disabled/banned.
Send a Apple Sign In token to the server. Used with authenticate/link/unlink.
Used in:
The ID token received from Apple to validate.
Extra information that will be bundled in the session token.
Send a custom ID to the server. Used with authenticate/link/unlink.
Used in:
A custom identifier.
Extra information that will be bundled in the session token.
Send a device to the server. Used with authenticate/link/unlink and user.
Used in: ,
A device identifier. Should be obtained by a platform-specific device API.
Extra information that will be bundled in the session token.
Send an email with password to the server. Used with authenticate/link/unlink.
Used in:
A valid RFC-5322 email address.
A password for the user account.
Ignored with unlink operations.
Extra information that will be bundled in the session token.
Send a Facebook token to the server. Used with authenticate/link/unlink.
Used in: , ,
The OAuth token received from Facebook to access their profile API.
Extra information that will be bundled in the session token.
Send a Facebook Instant Game token to the server. Used with authenticate/link/unlink.
Used in:
The OAuth token received from a Facebook Instant Game that may be decoded with the Application Secret (must be available with the nakama configuration)
Extra information that will be bundled in the session token.
Send Apple's Game Center account credentials to the server. Used with authenticate/link/unlink.
https://developer.apple.com/documentation/gamekit/gklocalplayer/1515407-generateidentityverificationsign
Used in:
Player ID (generated by GameCenter).
Bundle ID (generated by GameCenter).
Time since UNIX epoch when the signature was created.
A random "NSString" used to compute the hash and keep it randomized.
The verification signature data generated.
The URL for the public encryption key.
Extra information that will be bundled in the session token.
Send a Google token to the server. Used with authenticate/link/unlink.
Used in:
The OAuth token received from Google to access their profile API.
Extra information that will be bundled in the session token.
Obtain a new authentication token using a refresh token.
Refresh token.
Extra information that will be bundled in the session token.
Send a Steam token to the server. Used with authenticate/link/unlink.
Used in: , ,
The account token received from Steam to access their profile API.
Extra information that will be bundled in the session token.
Add one or more friends to the current user.
The account id of a user.
The account username of a user.
Optional metadata to add to friends.
Add users to a group.
The group to add users to.
The users to add.
Authenticate against the server with Apple Sign In.
The Apple account details.
Register the account if the user does not already exist.
Set the username on the account at register. Must be unique.
Authenticate against the server with a custom ID.
The custom account details.
Register the account if the user does not already exist.
Set the username on the account at register. Must be unique.
Authenticate against the server with a device ID.
The device account details.
Register the account if the user does not already exist.
Set the username on the account at register. Must be unique.
Authenticate against the server with email+password.
The email account details.
Register the account if the user does not already exist.
Set the username on the account at register. Must be unique.
Authenticate against the server with Facebook Instant Game token.
The Facebook Instant Game account details.
Register the account if the user does not already exist.
Set the username on the account at register. Must be unique.
Authenticate against the server with Facebook.
The Facebook account details.
Register the account if the user does not already exist.
Set the username on the account at register. Must be unique.
Import Facebook friends for the user.
Authenticate against the server with Apple's Game Center.
The Game Center account details.
Register the account if the user does not already exist.
Set the username on the account at register. Must be unique.
Authenticate against the server with Google.
The Google account details.
Register the account if the user does not already exist.
Set the username on the account at register. Must be unique.
Authenticate against the server with Steam.
The Steam account details.
Register the account if the user does not already exist.
Set the username on the account at register. Must be unique.
Import Steam friends for the user.
Ban users from a group.
The group to ban users from.
The users to ban.
Block one or more friends for the current user.
The account id of a user.
The account username of a user.
A message sent on a channel.
Used in: ,
The channel this message belongs to.
The unique ID of this message.
The code representing a message type or category.
Message sender, usually a user ID.
The username of the message sender, if any.
The content payload.
The UNIX time (for gRPC clients) or ISO string (for REST clients) when the message was created.
The UNIX time (for gRPC clients) or ISO string (for REST clients) when the message was last updated.
True if the message was persisted to the channel's history, false otherwise.
The name of the chat room, or an empty string if this message was not sent through a chat room.
The ID of the group, or an empty string if this message was not sent through a group channel.
The ID of the first DM user, or an empty string if this message was not sent through a DM chat.
The ID of the second DM user, or an empty string if this message was not sent through a DM chat.
A list of channel messages, usually a result of a list operation.
A list of messages.
The cursor to send when retrieving the next page, if any.
The cursor to send when retrieving the previous page, if any.
Cacheable cursor to list newer messages. Durable and designed to be stored, unlike next/prev cursors.
Create a group with the current user as owner.
A unique name for the group.
A description for the group.
The language expected to be a tag which follows the BCP-47 spec.
A URL for an avatar image.
Mark a group as open or not where only admins can accept members.
Maximum number of group members.
Delete one or more friends for the current user.
The account id of a user.
The account username of a user.
Delete a group the user has access to.
The id of a group.
Delete a leaderboard record.
The leaderboard ID to delete from.
Delete one or more notifications for the current user.
The id of notifications.
Storage objects to delete.
Used in:
The collection which stores the object.
The key of the object within the collection.
The version hash of the object.
Batch delete storage objects.
Batch of storage objects.
Delete a leaderboard record.
The tournament ID to delete from.
Demote a set of users in a group to the next role down.
The group ID to demote in.
The users to demote.
Represents an event to be passed through the server to registered event handlers.
An event name, type, category, or identifier.
Arbitrary event property values.
The time when the event was triggered.
True if the event came directly from a client call, false otherwise.
A friend of a user.
Used in:
The user object.
The friend status.
one of "Friend.State".
Time of the latest relationship update.
Metadata.
The friendship status.
The user is a friend of the current user.
The current user has sent an invite to the user.
The current user has received an invite from this user.
The current user has blocked this user.
A collection of zero or more friends of the user.
The Friend objects.
Cursor for the next page of results, if any.
A List of friends of friends
User friends of friends.
Cursor for the next page of results, if any.
A friend of a friend.
Used in:
The user who referred its friend.
User.
Fetch a subscription by product id.
Product id of the subscription
Fetch a batch of zero or more users from the server.
The account id of a user.
The account username of a user.
The Facebook ID of a user.
A group in the server.
Used in: ,
The id of a group.
The id of the user who created the group.
The unique name of the group.
A description for the group.
The language expected to be a tag which follows the BCP-47 spec.
Additional information stored as a JSON object.
A URL for an avatar image.
Anyone can join open groups, otherwise only admins can accept members.
The current count of all members in the group.
The maximum number of members allowed.
The UNIX time (for gRPC clients) or ISO string (for REST clients) when the group was created.
The UNIX time (for gRPC clients) or ISO string (for REST clients) when the group was last updated.
One or more groups returned from a listing operation.
One or more groups.
A cursor used to get the next page.
A list of users belonging to a group, along with their role.
User-role pairs for a group.
Cursor for the next page of results, if any.
A single user-role pair.
Used in:
User.
Their relationship to the group.
The group role status.
The user is a superadmin with full control of the group.
The user is an admin with additional privileges.
The user is a regular member.
The user has requested to join the group
Import Facebook friends into the current user's account.
The Facebook account details.
Reset the current user's friends list.
Import Facebook friends into the current user's account.
The Facebook account details.
Reset the current user's friends list.
Immediately join an open group, or request to join a closed one.
The group ID to join. The group must already exist.
The request to join a tournament.
The ID of the tournament to join. The tournament must already exist.
Kick a set of users from a group.
The group ID to kick from.
The users to kick.
A leaderboard on the server.
Used in:
The ID of the leaderboard.
ASC(0) or DESC(1) sort mode of scores in the leaderboard.
BEST, SET, INCREMENT or DECREMENT operator mode of the leaderboard.
The UNIX time when the leaderboard was previously reset. A computed value.
The UNIX time when the leaderboard is next playable. A computed value.
Additional information stored as a JSON object.
The UNIX time (for gRPC clients) or ISO string (for REST clients) when the leaderboard was created.
Whether the leaderboard was created authoritatively or not.
A list of leaderboards
The list of leaderboards returned.
A pagination cursor (optional).
Represents a complete leaderboard record with all scores and associated metadata.
Used in: ,
The ID of the leaderboard this score belongs to.
The ID of the score owner, usually a user or group.
The username of the score owner, if the owner is a user.
The score value.
An optional subscore value.
The number of submissions to this score record.
Metadata.
The UNIX time (for gRPC clients) or ISO string (for REST clients) when the leaderboard record was created.
The UNIX time (for gRPC clients) or ISO string (for REST clients) when the leaderboard record was updated.
The UNIX time (for gRPC clients) or ISO string (for REST clients) when the leaderboard record expires.
The rank of this record.
The maximum number of score updates allowed by the owner.
A set of leaderboard records, may be part of a leaderboard records page or a batch of individual records.
A list of leaderboard records.
A batched set of leaderboard records belonging to specified owners.
The cursor to send when retrieving the next page, if any.
The cursor to send when retrieving the previous page, if any.
The total number of ranks available.
Leave a group.
The group ID to leave.
Link Facebook to the current user's account.
The Facebook account details.
Import Facebook friends for the user.
Link Steam to the current user's account.
The Facebook account details.
Import Steam friends for the user.
List a channel's message history.
The channel ID to list from.
Max number of records to return. Between 1 and 100.
True if listing should be older messages to newer, false if reverse.
A pagination cursor, if any.
Max number of records to return. Between 1 and 100.
An optional next page cursor.
List friends for a user.
Max number of records to return. Between 1 and 1000.
The friend state to list.
An optional next page cursor.
List all users that are part of a group.
The group ID to list from.
Max number of records to return. Between 1 and 100.
The group user state to list.
An optional next page cursor.
List groups based on given filters.
List groups that contain this value in their names.
Optional pagination cursor.
Max number of groups to return. Between 1 and 100.
Language tag filter
Number of group members
Optional Open/Closed filter.
List leaerboard records from a given leaderboard around the owner.
The ID of the tournament to list for.
Max number of records to return. Between 1 and 100.
The owner to retrieve records around.
Expiry in seconds (since epoch) to begin fetching records from.
A next or previous page cursor.
List leaderboard records from a given leaderboard.
The ID of the leaderboard to list for.
One or more owners to retrieve records for.
Max number of records to return. Between 1 and 100.
A next or previous page cursor.
Expiry in seconds (since epoch) to begin fetching records from. Optional. 0 means from current time.
List realtime matches.
Limit the number of returned matches.
Authoritative or relayed matches.
Label filter.
Minimum user count.
Maximum user count.
Arbitrary label query.
Get a list of unexpired notifications.
The number of notifications to get. Between 1 and 100.
A cursor to page through notifications. May be cached by clients to get from point in time forwards.
value from NotificationList.cacheable_cursor.
A request to list parties.
Limit the number of returned parties.
Optionally filter by open/closed parties.
Arbitrary label query.
Cursor for the next page of results, if any.
List publicly readable storage objects in a given collection.
ID of the user.
The collection which stores the object.
The number of storage objects to list. Between 1 and 100.
The cursor to page through results from.
value from StorageObjectList.cursor.
List user subscriptions.
Max number of results per page
Cursor to retrieve a page of records from
List tournament records from a given tournament around the owner.
The ID of the tournament to list for.
Max number of records to return. Between 1 and 100.
The owner to retrieve records around.
Expiry in seconds (since epoch) to begin fetching records from.
A next or previous page cursor.
List tournament records from a given tournament.
The ID of the tournament to list for.
One or more owners to retrieve records for.
Max number of records to return. Between 1 and 100.
A next or previous page cursor.
Expiry in seconds (since epoch) to begin fetching records from.
List active/upcoming tournaments based on given filters.
The start of the categories to include. Defaults to 0.
The end of the categories to include. Defaults to 128.
The start time for tournaments. Defaults to epoch.
The end time for tournaments. Defaults to +1 year from current Unix time.
Max number of records to return. Between 1 and 100.
A next page cursor for listings (optional).
List the groups a user is part of, and their relationship to each.
ID of the user.
Max number of records to return. Between 1 and 100.
The user group state to list.
An optional next page cursor.
Represents a realtime match.
Used in:
The ID of the match, can be used to join.
True if it's an server-managed authoritative match, false otherwise.
Match label, if any.
Current number of users in the match.
Tick Rate
Handler name
A list of realtime matches.
A number of matches corresponding to a list operation.
Matchmaker ticket completion stats
Used in:
Matchmaker stats
A notification in the server.
Used in: ,
ID of the Notification.
Subject of the notification.
Content of the notification in JSON.
Category code for this notification.
ID of the sender, if a user. Otherwise 'null'.
The UNIX time (for gRPC clients) or ISO string (for REST clients) when the notification was created.
True if this notification was persisted to the database.
A collection of zero or more notifications.
Collection of notifications.
Use this cursor to paginate notifications. Cache this to catch up to new notifications.
Operator that can be used to override the one set in the leaderboard.
Used in: , , ,
Do not override the leaderboard operator.
Override the leaderboard operator with BEST.
Override the leaderboard operator with SET.
Override the leaderboard operator with INCREMENT.
Override the leaderboard operator with DECREMENT.
Incoming information about a party.
Used in:
Unique party identifier.
Open flag.
Hidden flag.
Maximum number of party members.
The party label, if any.
A list of realtime matches.
A number of parties corresponding to a list operation.
A cursor to send when retrieving the next page, if any.
Promote a set of users in a group to the next role up.
The group ID to promote in.
The users to promote.
A list of validated purchases stored by Nakama.
Stored validated purchases.
The cursor to send when retrieving the next page, if any.
The cursor to send when retrieving the previous page, if any.
Storage objects to get.
Used in:
The collection which stores the object.
The key of the object within the collection.
The user owner of the object.
Batch get storage objects.
Batch of storage objects.
Execute an Lua function on the server.
Used in:
The identifier of the function.
The payload of the function which must be a JSON object.
The authentication key used when executed as a non-client HTTP request.
A user's session used to authenticate messages.
True if the corresponding account was just created, false otherwise.
Authentication credentials.
Refresh token that can be used for session token renewal.
Log out a session, invalidate a refresh token, or log out all sessions/refresh tokens for a user.
Session token to log out.
Refresh token to invalidate.
Authenticate against the server with a refresh token.
Refresh token.
Extra information that will be bundled in the session token.
An object within the storage engine.
Used in: ,
The collection which stores the object.
The key of the object within the collection.
The user owner of the object.
The value of the object.
The version hash of the object.
The read access permissions for the object.
The write access permissions for the object.
The UNIX time (for gRPC clients) or ISO string (for REST clients) when the object was created.
The UNIX time (for gRPC clients) or ISO string (for REST clients) when the object was last updated.
A storage acknowledgement.
Used in:
The collection which stores the object.
The key of the object within the collection.
The version hash of the object.
The owner of the object.
The UNIX time (for gRPC clients) or ISO string (for REST clients) when the object was created.
The UNIX time (for gRPC clients) or ISO string (for REST clients) when the object was last updated.
Batch of acknowledgements for the storage object write.
Batch of storage write acknowledgements.
List of storage objects.
The list of storage objects.
The cursor for the next page of results, if any.
Batch of storage objects.
The batch of storage objects.
Environment where a purchase/subscription took place,
Used in: ,
Unknown environment.
Sandbox/test environment.
Production environment.
Validation Provider,
Used in: ,
Apple App Store
Google Play Store
Huawei App Gallery
Facebook Instant Store
A list of validated subscriptions stored by Nakama.
Stored validated subscriptions.
The cursor to send when retrieving the next page, if any.
The cursor to send when retrieving the previous page, if any.
A tournament on the server.
Used in:
The ID of the tournament.
The title for the tournament.
The description of the tournament. May be blank.
The category of the tournament. e.g. "vip" could be category 1.
ASC (0) or DESC (1) sort mode of scores in the tournament.
The current number of players in the tournament.
The maximum number of players for the tournament.
The maximum score updates allowed per player for the current tournament.
True if the tournament is active and can enter. A computed value.
The UNIX time when the tournament stops being active until next reset. A computed value.
The UNIX time when the tournament is next playable. A computed value.
Additional information stored as a JSON object.
The UNIX time (for gRPC clients) or ISO string (for REST clients) when the tournament was created.
The UNIX time (for gRPC clients) or ISO string (for REST clients) when the tournament will start.
The UNIX time (for gRPC clients) or ISO string (for REST clients) when the tournament will be stopped.
Duration of the tournament in seconds.
The UNIX time when the tournament start being active. A computed value.
The UNIX time when the tournament was last reset. A computed value.
Operator.
Whether the leaderboard was created authoritatively or not.
Whether the user must join the tournament before being able to submit scores.
A list of tournaments.
The list of tournaments returned.
A pagination cursor (optional).
A set of tournament records which may be part of a tournament records page or a batch of individual records.
A list of tournament records.
A batched set of tournament records belonging to specified owners.
The cursor to send when retireving the next page (optional).
The cursor to send when retrieving the previous page (optional).
The total number of ranks available.
Update a user's account details.
The username of the user's account.
The display name of the user.
A URL for an avatar image.
The language expected to be a tag which follows the BCP-47 spec.
The location set by the user.
The timezone set by the user.
Update fields in a given group.
The ID of the group to update.
Name.
Description string.
Lang tag.
Avatar URL.
Open is true if anyone should be allowed to join, or false if joins must be approved by a group admin.
A user in the server.
Used in: , , , ,
The id of the user's account.
The username of the user's account.
The display name of the user.
A URL for an avatar image.
The language expected to be a tag which follows the BCP-47 spec.
The location set by the user.
The timezone set by the user.
Additional information stored as a JSON object.
The Facebook id in the user's account.
The Google id in the user's account.
The Apple Game Center in of the user's account.
The Steam id in the user's account.
Indicates whether the user is currently online.
Number of related edges to this user.
The UNIX time (for gRPC clients) or ISO string (for REST clients) when the user was created.
The UNIX time (for gRPC clients) or ISO string (for REST clients) when the user was last updated.
The Facebook Instant Game ID in the user's account.
The Apple Sign In ID in the user's account.
A list of groups belonging to a user, along with the user's role in each group.
Group-role pairs for a user.
Cursor for the next page of results, if any.
A single group-role pair.
Used in:
Group.
The user's relationship to the group.
The group role status.
The user is a superadmin with full control of the group.
The user is an admin with additional privileges.
The user is a regular member.
The user has requested to join the group
A collection of zero or more users.
The User objects.
Apple IAP Purchases validation request
Base64 encoded Apple receipt data payload.
Persist the purchase
Facebook Instant IAP Purchase validation request
Base64 encoded Facebook Instant signedRequest receipt data payload.
Persist the purchase
Google IAP Purchase validation request
JSON encoded Google purchase payload.
Persist the purchase
Huawei IAP Purchase validation request
JSON encoded Huawei InAppPurchaseData.
InAppPurchaseData signature.
Persist the purchase
Validate IAP response.
Newly seen validated purchases.
Apple Subscription validation request
Base64 encoded Apple receipt data payload.
Persist the subscription.
Google Subscription validation request
JSON encoded Google purchase payload.
Persist the subscription.
Validate Subscription response.
Validated Purchase stored by Nakama.
Used in: ,
Purchase User ID.
Purchase Product ID.
Purchase Transaction ID.
Store identifier
Timestamp when the purchase was done.
Timestamp when the receipt validation was stored in DB.
Timestamp when the receipt validation was updated in DB.
Timestamp when the purchase was refunded. Set to UNIX
Raw provider validation response.
Whether the purchase was done in production or sandbox environment.
Whether the purchase had already been validated by Nakama before.
Used in: ,
Subscription User ID.
Purchase Product ID.
Purchase Original transaction ID (we only keep track of the original subscription, not subsequent renewals).
Store identifier
UNIX Timestamp when the purchase was done.
UNIX Timestamp when the receipt validation was stored in DB.
UNIX Timestamp when the receipt validation was updated in DB.
Whether the purchase was done in production or sandbox environment.
Subscription expiration time. The subscription can still be auto-renewed to extend the expiration time further.
Subscription refund time. If this time is set, the subscription was refunded.
Raw provider validation response body.
Raw provider notification body.
Whether the subscription is currently active or not.
A request to submit a score to a leaderboard.
The ID of the leaderboard to write to.
Record input.
Record values to write.
Used in:
The score value to submit.
An optional secondary value.
Optional record metadata.
Operator override.
The object to store.
Used in:
The collection to store the object.
The key for the object within the collection.
The value of the object.
The version hash of the object to check. Possible values are: ["", "*", "#hash#"].
if-match and if-none-match
The read access permissions for the object.
The write access permissions for the object.
Write objects to the storage engine.
The objects to store on the server.
A request to submit a score to a tournament.
The tournament ID to write the record for.
Record input.
Record values to write.
Used in:
The score value to submit.
An optional secondary value.
A JSON object of additional properties (optional).
Operator override.