Heroic Labs Console API

The Console API from Heroic Labs — 73 operation(s) for console.

OpenAPI Specification

heroiclabs-console-api-openapi.yml Raw ↑
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