Heroic Labs Console API
The Console API from Heroic Labs — 73 operation(s) for console.
The Console API from Heroic Labs — 73 operation(s) for console.
swagger: '2.0'
info:
title: Nakama API v2 Console API
version: '2.0'
contact:
name: The Nakama Authors & Contributors
url: https://github.com/heroiclabs/nakama
email: hello@heroiclabs.com
host: 127.0.0.1:7351
schemes:
- http
consumes:
- application/json
produces:
- application/json
security:
- BearerJwt: []
tags:
- name: Console
paths:
/v2/console/account:
get:
summary: List (and optionally filter) accounts.
operationId: ListAccounts
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/AccountList'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: filter
description: User ID or username filter.
in: query
required: false
type: string
- name: tombstones
description: Search only recorded deletes.
in: query
required: false
type: boolean
- name: cursor
description: Cursor to start from
in: query
required: false
type: string
tags:
- Console
delete:
summary: Delete (non-recorded) all user accounts.
operationId: DeleteAccounts
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
tags:
- Console
post:
summary: Import given account export data, creating a new account that fully matches the data.
operationId: ImportAccountFull
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/console.Account'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: body
description: Request to import user account data.
in: body
required: true
schema:
$ref: '#/definitions/AccountImport'
tags:
- Console
/v2/console/account/{account_id}/note:
get:
operationId: ListAccountNotes
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/ListAccountNotesResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: account_id
description: Account to list notes for.
in: path
required: true
type: string
- name: limit
description: Response result page limit.
in: query
required: false
type: integer
format: int32
- name: cursor
description: Optional cursor for pagination.
in: query
required: false
type: string
tags:
- Console
post:
operationId: AddAccountNote
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/AccountNote'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: account_id
description: The account id to add the note for.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/AddAccountNoteBody'
tags:
- Console
/v2/console/account/{account_id}/note/{note_id}:
delete:
operationId: DeleteAccountNote
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: account_id
description: Account owning the notes.
in: path
required: true
type: string
- name: note_id
description: Identifier of the note.
in: path
required: true
type: string
tags:
- Console
/v2/console/account/{account_id}/wallet:
get:
summary: Get a list of the user's wallet transactions.
operationId: GetWalletLedger
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/WalletLedgerList'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: account_id
description: The unique identifier of the user account.
in: path
required: true
type: string
- name: limit
description: Max number of results per page.
in: query
required: false
type: integer
format: int64
- name: cursor
description: Cursor to retrieve a page of records from.
in: query
required: false
type: string
- name: after
description: Optional timestamp threshold to list wallet ledger records after.
in: query
required: false
type: string
format: date-time
- name: before
description: Optional timestamp threshold to list wallet ledger records before.
in: query
required: false
type: string
format: date-time
tags:
- Console
/v2/console/account/{id}:
get:
summary: Get detailed account information for a single user.
operationId: GetAccount
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/console.Account'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
type: string
tags:
- Console
delete:
summary: Delete all information stored for a user account.
operationId: DeleteAccount
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
type: string
- name: record_deletion
description: Record the user deletion - used for GDPR compliance.
in: query
required: false
type: boolean
tags:
- Console
post:
summary: Update one or more fields on a user account.
operationId: UpdateAccount
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: id
description: User ID to update.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/UpdateAccountBody'
tags:
- Console
/v2/console/account/{id}/ban:
post:
summary: Ban a user.
operationId: BanAccount
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
type: string
tags:
- Console
/v2/console/account/{id}/export:
get:
summary: Export all information stored about a user account.
operationId: ExportAccount
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/AccountExport'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
type: string
tags:
- Console
/v2/console/account/{id}/friend:
get:
summary: Get a user's list of friend relationships.
operationId: GetFriends
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/FriendList'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
type: string
tags:
- Console
/v2/console/account/{id}/friend/{friend_id}:
delete:
summary: Delete the friend relationship between two users.
operationId: DeleteFriend
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: id
description: The user do delete for.
in: path
required: true
type: string
- name: friend_id
description: User ID of the friend to remove.
in: path
required: true
type: string
tags:
- Console
/v2/console/account/{id}/group:
get:
summary: Get a list of groups the user is a member of.
operationId: GetGroups
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/UserGroupList'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
type: string
tags:
- Console
/v2/console/account/{id}/group/{group_id}:
delete:
summary: Remove a user from a group.
operationId: DeleteGroupUser
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: id
description: User to remove.
in: path
required: true
type: string
- name: group_id
description: ID of the group to remove them from.
in: path
required: true
type: string
tags:
- Console
/v2/console/account/{id}/import:
put:
summary: Import given account export data, overwriting the user account's current state.
operationId: ImportAccount
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: id
description: The user ID to overwrite data for, or blank if the account should be freshly created.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/ImportAccountBody'
tags:
- Console
/v2/console/account/{id}/unban:
post:
summary: Unban a user.
operationId: UnbanAccount
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
type: string
tags:
- Console
/v2/console/account/{id}/unlink/apple:
post:
summary: Unlink the Apple ID from a user account.
operationId: UnlinkApple
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
type: string
tags:
- Console
/v2/console/account/{id}/unlink/custom:
post:
summary: Unlink the custom ID from a user account.
operationId: UnlinkCustom
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
type: string
tags:
- Console
/v2/console/account/{id}/unlink/device:
post:
summary: Unlink the device ID from a user account.
operationId: UnlinkDevice
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: id
description: User ID to unlink from.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/UnlinkDeviceBody'
tags:
- Console
/v2/console/account/{id}/unlink/email:
post:
summary: Unlink the email from a user account.
operationId: UnlinkEmail
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
type: string
tags:
- Console
/v2/console/account/{id}/unlink/facebook:
post:
summary: Unlink the Facebook ID from a user account.
operationId: UnlinkFacebook
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
type: string
tags:
- Console
/v2/console/account/{id}/unlink/facebookinstantgame:
post:
summary: Unlink the Facebook Instant Game ID from a user account.
operationId: UnlinkFacebookInstantGame
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
type: string
tags:
- Console
/v2/console/account/{id}/unlink/gamecenter:
post:
summary: Unlink the Game Center ID from a user account.
operationId: UnlinkGameCenter
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
type: string
tags:
- Console
/v2/console/account/{id}/unlink/google:
post:
summary: Unlink the Google ID from a user account.
operationId: UnlinkGoogle
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
type: string
tags:
- Console
/v2/console/account/{id}/unlink/steam:
post:
summary: Unlink the Steam ID from a user account.
operationId: UnlinkSteam
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
type: string
tags:
- Console
/v2/console/account/{id}/wallet/{wallet_id}:
delete:
summary: Delete a wallet ledger item.
operationId: DeleteWalletLedger
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: id
description: User ID to remove wallet ledger item from.
in: path
required: true
type: string
- name: wallet_id
description: ID of the wallet ledger item to remove.
in: path
required: true
type: string
tags:
- Console
/v2/console/acl/template:
get:
operationId: ListAclTemplates
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/AclTemplateList'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
tags:
- Console
post:
operationId: AddAclTemplate
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/AclTemplate'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: body
description: Add a new ACL template.
in: body
required: true
schema:
$ref: '#/definitions/AddAclTemplateRequest'
tags:
- Console
/v2/console/acl/template/{id}:
delete:
operationId: DeleteAclTemplate
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: id
description: The identifier of the ACL template.
in: path
required: true
type: string
tags:
- Console
put:
operationId: UpdateAclTemplate
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/AclTemplate'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: id
description: The identifier of the ACL template.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/UpdateAclTemplateBody'
tags:
- Console
/v2/console/all:
delete:
summary: Deletes all data
operationId: DeleteAllData
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
tags:
- Console
/v2/console/api/endpoints:
get:
summary: API Explorer - list all endpoints
operationId: ListApiEndpoints
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/ApiEndpointList'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
tags:
- Console
/v2/console/api/endpoints/rpc/{method}:
post:
summary: API Explorer - call a custom RPC endpoint
operationId: CallRpcEndpoint
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/CallApiEndpointResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: method
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/CallRpcEndpointBody'
tags:
- Console
/v2/console/api/endpoints/{method}:
post:
summary: API Explorer - call an endpoint
operationId: CallApiEndpoint
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/CallApiEndpointResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: method
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/CallApiEndpointBody'
tags:
- Console
/v2/console/audit/log:
get:
summary: List audit log entries with the selected filter
operationId: ListAuditLogs
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/AuditLogList'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: limit
description: Maximum number of entries to return.
in: query
required: false
type: integer
format: int32
- name: username
description: Filter by username.
in: query
required: false
type: string
- name: resource
description: Filter by resource.
in: query
required: false
type: integer
format: int32
- name: action
description: Filter by action.
in: query
required: false
type: string
enum:
- UNKNOWN
- CREATE
- UPDATE
- DELETE
- INVOKE
- IMPORT
- EXPORT
default: UNKNOWN
- name: after
description: Optional timestamp threshold to list audit log records after.
in: query
required: false
type: string
format: date-time
- name: before
description: Optional timestamp threshold to list audit log records before.
in: query
required: false
type: string
format: date-time
- name: cursor
description: Cursor to fetch additional.
in: query
required: false
type: string
tags:
- Console
/v2/console/audit/log/users:
get:
summary: List console usernames that can be used to filter the audit logs
operationId: ListAuditLogsUsers
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/AuditLogUsersList'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
tags:
- Console
/v2/console/authenticate:
post:
summary: Authenticate a console user with username and password.
operationId: Authenticate
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/ConsoleSession'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: body
description: Authenticate a console user with username and password.
in: body
required: true
schema:
$ref: '#/definitions/AuthenticateRequest'
tags:
- Console
security:
- ? ''
: []
/v2/console/authenticate/logout:
post:
summary: Log out a session and invalidate the session token.
operationId: AuthenticateLogout
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: body
description: Log out a session and invalidate a session token.
in: body
required: true
schema:
$ref: '#/definitions/AuthenticateLogoutRequest'
tags:
- Console
/v2/console/authenticate/mfa:
post:
summary: Change an account's MFA using a code, usually delivered over email.
operationId: AuthenticateMFASetup
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/AuthenticateMFASetupResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: body
description: Request to change MFA.
in: body
required: true
schema:
$ref: '#/definitions/AuthenticateMFASetupRequest'
tags:
- Console
/v2/console/authenticate/password_change:
post:
summary: Change an account's password using a code, usually delivered over email.
operationId: AuthenticatePasswordChange
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: body
description: Request to change a password.
in: body
required: true
schema:
$ref: '#/definitions/AuthenticatePasswordChangeRequest'
tags:
- Console
/v2/console/channel:
get:
summary: List channel messages with the selected filter
operationId: ListChannelMessages
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/ChannelMessageList'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: type
description: Type of the chat channel
in: query
required: false
type: string
enum:
- UNKNOWN
- ROOM
- GROUP
- DIRECT
default: UNKNOWN
- name: label
description: Label of the channel, if a standard chat room
in: query
required: false
type: string
- name: group_id
description: Group ID of the channel, if a group chat
in: query
required: false
type: string
- name: user_id_one
description: User IDs, if a direct chat
in: query
required: false
type: string
- name: user_id_two
in: query
required: false
type: string
- name: cursor
description: Cursor to start from
in: query
required: false
type: string
tags:
- Console
/v2/console/config:
get:
summary: Get server config and configuration warnings.
operationId: GetConfig
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/Config'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
tags:
- Console
/v2/console/extensions:
get:
operationId: RegisteredExtensions
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/Extensions'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
tags:
- Console
/v2/console/group:
get:
summary: List (and optionally filter) groups.
operationId: ListGroups
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/console.GroupList'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: filter
description: User ID or username filter.
in: query
required: false
type: string
- name: cursor
description: Cursor to start from
in: query
required: false
type: string
tags:
- Console
/v2/console/group/{group_id}/account/{id}/demote:
post:
summary: Demote a user from a group.
operationId: DemoteGroupMember
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: group_id
description: ID of the group.
in: path
required: true
type: string
- name: id
description: User to change state.
in: path
required: true
type: string
tags:
- Console
/v2/console/group/{group_id}/account/{id}/promote:
post:
summary: Promote a user from a group.
operationId: PromoteGroupMember
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpc.Status'
parameters:
- name: group_id
description: ID of the group.
in: path
required: true
type: string
- name: id
description:
# --- truncated at 32 KB (123 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/heroic-labs/refs/heads/main/openapi/heroic-labs-console-api-openapi.yml