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.
openapi: 3.0.0
info:
title: Hiro RPC Console API
description: An OpenAPI collection for the Hiro RPC API
version: 1.0.0
servers:
- url: http://{hostAddr}:{port}/v2
description: Local development with Nakama server.
variables:
scheme:
enum:
- https
- http
default: http
hostAddr:
default: 127.0.0.1
port:
enum:
- '443'
- '7350'
default: '7350'
security:
- bearerAuthNakama: []
tags:
- name: Console
paths:
/v2/console/account:
get:
summary: List (and optionally filter) accounts.
operationId: ListAccounts
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/AccountList'
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: filter
description: User ID or username filter.
in: query
required: false
schema:
type: string
- name: tombstones
description: Search only recorded deletes.
in: query
required: false
schema:
type: boolean
- name: cursor
description: Cursor to start from
in: query
required: false
schema:
type: string
tags:
- Console
delete:
summary: Delete (non-recorded) all user accounts.
operationId: DeleteAccounts
responses:
'200':
description: A successful response.
content:
application/json:
schema:
type: object
properties: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/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.
content:
application/json:
schema:
$ref: '#/components/schemas/console.Account'
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AccountImport'
description: Request to import user account data.
required: true
tags:
- Console
/v2/console/account/{account_id}/note:
get:
operationId: ListAccountNotes
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/ListAccountNotesResponse'
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: account_id
description: Account to list notes for.
in: path
required: true
schema:
type: string
- name: limit
description: Response result page limit.
in: query
required: false
schema:
type: integer
format: int32
- name: cursor
description: Optional cursor for pagination.
in: query
required: false
schema:
type: string
tags:
- Console
post:
operationId: AddAccountNote
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/AccountNote'
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: account_id
description: The account id to add the note for.
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AddAccountNoteBody'
required: true
tags:
- Console
/v2/console/account/{account_id}/note/{note_id}:
delete:
operationId: DeleteAccountNote
responses:
'200':
description: A successful response.
content:
application/json:
schema:
type: object
properties: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: account_id
description: Account owning the notes.
in: path
required: true
schema:
type: string
- name: note_id
description: Identifier of the note.
in: path
required: true
schema:
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.
content:
application/json:
schema:
$ref: '#/components/schemas/WalletLedgerList'
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: account_id
description: The unique identifier of the user account.
in: path
required: true
schema:
type: string
- name: limit
description: Max number of results per page.
in: query
required: false
schema:
type: integer
format: int64
- name: cursor
description: Cursor to retrieve a page of records from.
in: query
required: false
schema:
type: string
- name: after
description: Optional timestamp threshold to list wallet ledger records after.
in: query
required: false
schema:
type: string
format: date-time
- name: before
description: Optional timestamp threshold to list wallet ledger records before.
in: query
required: false
schema:
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.
content:
application/json:
schema:
$ref: '#/components/schemas/console.Account'
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
schema:
type: string
tags:
- Console
delete:
summary: Delete all information stored for a user account.
operationId: DeleteAccount
responses:
'200':
description: A successful response.
content:
application/json:
schema:
type: object
properties: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
schema:
type: string
- name: record_deletion
description: Record the user deletion - used for GDPR compliance.
in: query
required: false
schema:
type: boolean
tags:
- Console
post:
summary: Update one or more fields on a user account.
operationId: UpdateAccount
responses:
'200':
description: A successful response.
content:
application/json:
schema:
type: object
properties: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: id
description: User ID to update.
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateAccountBody'
required: true
tags:
- Console
/v2/console/account/{id}/ban:
post:
summary: Ban a user.
operationId: BanAccount
responses:
'200':
description: A successful response.
content:
application/json:
schema:
type: object
properties: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
schema:
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.
content:
application/json:
schema:
$ref: '#/components/schemas/AccountExport'
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
schema:
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.
content:
application/json:
schema:
$ref: '#/components/schemas/FriendList'
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
schema:
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.
content:
application/json:
schema:
type: object
properties: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: id
description: The user do delete for.
in: path
required: true
schema:
type: string
- name: friend_id
description: User ID of the friend to remove.
in: path
required: true
schema:
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.
content:
application/json:
schema:
$ref: '#/components/schemas/UserGroupList'
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
schema:
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.
content:
application/json:
schema:
type: object
properties: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: id
description: User to remove.
in: path
required: true
schema:
type: string
- name: group_id
description: ID of the group to remove them from.
in: path
required: true
schema:
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.
content:
application/json:
schema:
type: object
properties: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/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
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ImportAccountBody'
required: true
tags:
- Console
/v2/console/account/{id}/unban:
post:
summary: Unban a user.
operationId: UnbanAccount
responses:
'200':
description: A successful response.
content:
application/json:
schema:
type: object
properties: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
schema:
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.
content:
application/json:
schema:
type: object
properties: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
schema:
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.
content:
application/json:
schema:
type: object
properties: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
schema:
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.
content:
application/json:
schema:
type: object
properties: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: id
description: User ID to unlink from.
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UnlinkDeviceBody'
required: true
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.
content:
application/json:
schema:
type: object
properties: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
schema:
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.
content:
application/json:
schema:
type: object
properties: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
schema:
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.
content:
application/json:
schema:
type: object
properties: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
schema:
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.
content:
application/json:
schema:
type: object
properties: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
schema:
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.
content:
application/json:
schema:
type: object
properties: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
schema:
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.
content:
application/json:
schema:
type: object
properties: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: id
description: The unique identifier of the user account.
in: path
required: true
schema:
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.
content:
application/json:
schema:
type: object
properties: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: id
description: User ID to remove wallet ledger item from.
in: path
required: true
schema:
type: string
- name: wallet_id
description: ID of the wallet ledger item to remove.
in: path
required: true
schema:
type: string
tags:
- Console
/v2/console/acl/template:
get:
operationId: ListAclTemplates
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/AclTemplateList'
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
tags:
- Console
post:
operationId: AddAclTemplate
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/AclTemplate'
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AddAclTemplateRequest'
description: Add a new ACL template.
required: true
tags:
- Console
/v2/console/acl/template/{id}:
delete:
operationId: DeleteAclTemplate
responses:
'200':
description: A successful response.
content:
application/json:
schema:
type: object
properties: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: id
description: The identifier of the ACL template.
in: path
required: true
schema:
type: string
tags:
- Console
put:
operationId: UpdateAclTemplate
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/AclTemplate'
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: id
description: The identifier of the ACL template.
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateAclTemplateBody'
required: true
tags:
- Console
/v2/console/all:
delete:
summary: Deletes all data
operationId: DeleteAllData
responses:
'200':
description: A successful response.
content:
application/json:
schema:
type: object
properties: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
tags:
- Console
/v2/console/api/endpoints:
get:
summary: API Explorer - list all endpoints
operationId: ListApiEndpoints
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiEndpointList'
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/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.
content:
application/json:
schema:
$ref: '#/components/schemas/CallApiEndpointResponse'
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: method
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CallRpcEndpointBody'
required: true
tags:
- Console
/v2/console/api/endpoints/{method}:
post:
summary: API Explorer - call an endpoint
operationId: CallApiEndpoint
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/CallApiEndpointResponse'
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: method
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CallApiEndpointBody'
required: true
tags:
- Console
/v2/console/audit/log:
get:
summary: List audit log entries with the selected filter
operationId: ListAuditLogs
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/AuditLogList'
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
parameters:
- name: limit
description: Maximum number of entries to return.
in: query
required: false
schema:
type: integer
format: int32
- name: username
description: Filter by username.
in: query
required: false
schema:
type: string
- name: resource
description: Filter by resource.
in: query
required: false
schema:
type: integer
format: int32
- name: action
description: Filter by action.
in: query
required: false
schema:
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
schema:
type: string
format: date-time
- name: before
description: Optional timestamp threshold to list audit log records before.
in: query
required: false
schema:
type: string
format: date-time
- name: cursor
description: Cursor to fetch additional.
in: query
required: false
schema:
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.
content:
application/json:
schema:
$ref: '#/components/schemas/AuditLogUsersList'
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/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.
content:
application/json:
schema:
$ref: '#/components/schemas/ConsoleSession'
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpc.Status'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AuthenticateRequest'
description: Authenti
# --- truncated at 32 KB (140 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/heroiclabs/refs/heads/main/openapi/heroiclabs-console-api-openapi.yml