basePath: /
definitions:
  main.appConfig:
    properties:
      amp_container:
        type: string
      amp_data_root:
        type: string
      amp_instance:
        description: AMP-specific — used when Control == "amp" (CubeCoders AMP w/
          podman).
        type: string
      amp_log_path:
        type: string
      amp_use_container:
        type: boolean
      amp_user:
        type: string
      backup_dir:
        description: Backups — optional path accessed via the executor.
        type: string
      broker_admin_addr:
        type: string
      broker_exec_prefix:
        description: |-
          BrokerExecPrefix is prepended to all rabbitmqctl calls. Use when the
          broker runs inside a container that isn't managed by the docker control
          plane — e.g. "podman exec AMP_MehDune01" or "docker exec my-broker".
        type: string
      broker_game_addr:
        description: Broker — optional; if set, notifications and capture are available.
        type: string
      broker_jwt_secret:
        description: |-
          BrokerJWTSecret is the base64-encoded HMAC key used to re-sign
          ServiceAuthTokens for CaptureJWT. Optional override for the baked-in
          default signing key (captureJWTSecretB64).
        type: string
      broker_pass:
        type: string
      broker_tls:
        type: boolean
      broker_user:
        type: string
      cmd_restart:
        type: string
      cmd_start:
        description: local-specific — configurable shell commands
        type: string
      cmd_status:
        type: string
      cmd_stop:
        type: string
      control:
        description: 'Control plane: "kubectl" | "docker" | "local" | "amp"'
        type: string
      control_namespace:
        description: kubectl-specific
        type: string
      db_host:
        description: Database — always required.
        type: string
      db_name:
        type: string
      db_pass:
        type: string
      db_port:
        type: integer
      db_schema:
        type: string
      db_user:
        type: string
      default_ini_dir:
        description: |-
          DefaultIniDir is a local or remote path that contains DefaultGame.ini and
          DefaultEngine.ini — the base layer of the INI hierarchy.
        type: string
      director_url:
        type: string
      docker_broker_admin:
        type: string
      docker_broker_game:
        type: string
      docker_db:
        type: string
      docker_gameserver:
        description: docker-specific — container names
        type: string
      listen_addr:
        type: string
      market_bot_buy_interval:
        type: string
      market_bot_buy_threshold:
        type: number
      market_bot_cache_db:
        type: string
      market_bot_enabled:
        description: |-
          ── Embedded market bot ────────────────────────────────────────────────
          MarketBotEnabled starts the market bot as an in-process goroutine.
          Pointer so we can distinguish "unset" (default-on) from "explicitly false".
        type: boolean
      market_bot_item_data:
        type: string
      market_bot_list_interval:
        type: string
      market_bot_max_buys:
        type: integer
      market_bot_remote_token:
        type: string
      market_bot_remote_url:
        type: string
      market_bot_state:
        type: string
      scrip_currency:
        type: integer
      server_ini_dir:
        description: ServerIniDir is the directory containing UserGame.ini and UserOverrides.ini.
        type: string
      ssh_host:
        description: |-
          Transport — SSH fields. If ssh_host is set all commands + TCP connections
          tunnel through SSH. If omitted everything runs/connects locally.
        type: string
      ssh_key:
        type: string
      ssh_user:
        type: string
    type: object
  main.backupFile:
    properties:
      has_yaml:
        type: boolean
      modified:
        type: string
      name:
        type: string
      size_bytes:
        type: integer
    type: object
  main.cheatEntry:
    properties:
      character_name:
        type: string
      cheat_type:
        type: string
      event_time:
        type: string
      fls_id:
        type: string
    type: object
  main.currencyRow:
    properties:
      balance:
        type: integer
      currency_id:
        type: integer
      player_id:
        type: integer
    type: object
  main.dungeonRecord:
    properties:
      completion_id:
        type: integer
      difficulty:
        type: string
      dungeon_id:
        type: string
      duration_ms:
        type: integer
      players_num:
        type: integer
    type: object
  main.factionRep:
    properties:
      actor_id:
        type: integer
      faction_id:
        type: integer
      faction_name:
        type: string
      reputation:
        type: integer
      scrips:
        type: integer
    type: object
  main.gameEvent:
    properties:
      actor_id:
        type: integer
      custom_data:
        type: string
      event_type:
        type: integer
      map:
        type: string
      universe_time:
        type: string
      x:
        type: number
      "y":
        type: number
      z:
        type: number
    type: object
  main.giveItemInput:
    properties:
      qty:
        type: integer
      quality:
        type: integer
      template:
        type: string
    type: object
  main.giveItemsRequest:
    properties:
      items:
        items:
          $ref: '#/definitions/main.giveItemInput'
        type: array
      player_id:
        type: integer
    type: object
  main.itemInfo:
    properties:
      durability:
        type: string
      id:
        type: integer
      max_durability:
        type: string
      name:
        type: string
      quality:
        type: integer
      stack_size:
        type: integer
      template_id:
        type: string
    type: object
  main.logPod:
    properties:
      name:
        type: string
      namespace:
        type: string
    type: object
  main.playerInfo:
    properties:
      account_id:
        type: integer
      class:
        type: string
      controller_id:
        type: integer
      faction_id:
        type: integer
      fls_id:
        type: string
      id:
        type: integer
      map:
        type: string
      name:
        type: string
      online_status:
        type: string
    type: object
  main.specTrack:
    properties:
      level:
        type: number
      player_id:
        type: integer
      track_type:
        type: string
      xp:
        type: integer
    type: object
  main.teleportLocation:
    properties:
      name:
        type: string
      x:
        type: number
      "y":
        type: number
      z:
        type: number
    type: object
  main.updateApplyRequest:
    properties:
      force:
        type: boolean
    type: object
  main.updateApplyResponse:
    properties:
      message:
        type: string
      updated:
        type: boolean
      version:
        type: string
    type: object
  main.updateCheckResponse:
    properties:
      current:
        type: string
      latest:
        type: string
      needs_update:
        type: boolean
      release_url:
        type: string
    type: object
  main.vehicleRow:
    properties:
      chassis_durability:
        type: number
      class:
        type: string
      id:
        type: integer
      is_backup:
        type: boolean
      is_recovered:
        type: boolean
      map:
        type: string
      vehicle_name:
        type: string
    type: object
host: localhost:8080
info:
  contact: {}
  description: Admin panel API for a Dune Awakening private server.
  title: dune-admin API
  version: "1.0"
paths:
  /api/v1/bases:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              additionalProperties: true
              type: object
            type: array
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: List all player bases
      tags:
      - bases
  /api/v1/bases/{id}/export:
    get:
      parameters:
      - description: Base (building) ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/octet-stream
      responses:
        "200":
          description: Base blueprint JSON file
          schema:
            type: file
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "404":
          description: Not Found
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
        "503":
          description: Service Unavailable
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Export a base as a downloadable blueprint JSON file
      tags:
      - bases
  /api/v1/battlegroup/backup-files:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/main.backupFile'
            type: array
        "503":
          description: Service Unavailable
          schema:
            additionalProperties:
              type: string
            type: object
      summary: List available database backup files in the backup directory
      tags:
      - battlegroup
  /api/v1/battlegroup/backup-files/download:
    get:
      parameters:
      - description: Backup filename (must end in .backup)
        in: query
        name: file
        required: true
        type: string
      produces:
      - application/zip
      responses:
        "200":
          description: OK
          schema:
            type: file
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "503":
          description: Service Unavailable
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Download a backup file (and its YAML metadata) as a zip archive
      tags:
      - battlegroup
  /api/v1/battlegroup/backup-files/upload:
    post:
      consumes:
      - multipart/form-data
      parameters:
      - description: Backup file (.backup or .zip)
        in: formData
        name: backup
        required: true
        type: file
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "503":
          description: Service Unavailable
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Upload a backup file (.backup or .zip) to the backup directory
      tags:
      - battlegroup
  /api/v1/battlegroup/exec:
    post:
      consumes:
      - application/json
      parameters:
      - description: 'Command: start, stop, restart, update, or backup'
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "503":
          description: Service Unavailable
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Execute a battlegroup lifecycle command via the control plane
      tags:
      - battlegroup
  /api/v1/battlegroup/pods:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
        "503":
          description: Service Unavailable
          schema:
            additionalProperties:
              type: string
            type: object
      summary: List battlegroup pods/processes and their namespace
      tags:
      - battlegroup
  /api/v1/battlegroup/restore:
    post:
      consumes:
      - application/json
      parameters:
      - description: Backup filename (must end in .backup)
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "503":
          description: Service Unavailable
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Restore the database from a named backup file via the control plane
      tags:
      - battlegroup
  /api/v1/battlegroup/status:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
        "503":
          description: Service Unavailable
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Get battlegroup and server status from the control plane
      tags:
      - battlegroup
  /api/v1/blueprints:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              additionalProperties: true
              type: object
            type: array
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: List all building blueprints
      tags:
      - blueprints
  /api/v1/blueprints/{id}/export:
    get:
      parameters:
      - description: Blueprint ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/octet-stream
      responses:
        "200":
          description: Blueprint JSON file
          schema:
            type: file
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Export a blueprint as a downloadable JSON file
      tags:
      - blueprints
  /api/v1/blueprints/import:
    post:
      consumes:
      - multipart/form-data
      parameters:
      - description: Blueprint JSON file
        in: formData
        name: blueprint
        required: true
        type: file
      - description: Player pawn ID to receive the blueprint
        in: formData
        name: player_id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Import a blueprint JSON file into a player's inventory
      tags:
      - blueprints
  /api/v1/broadcast:
    post:
      consumes:
      - application/json
      parameters:
      - description: Localized texts and optional duration in seconds
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Send server-wide broadcast message via RabbitMQ
      tags:
      - broadcast
  /api/v1/broadcast/shutdown:
    post:
      consumes:
      - application/json
      parameters:
      - description: Shutdown type, delay, frequency, duration, and cancel flag
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Send shutdown broadcast command via RabbitMQ
      tags:
      - broadcast
  /api/v1/chat/whisper:
    post:
      consumes:
      - application/json
      parameters:
      - description: Target FLS ID, target name, sender name, message, and optional
          impersonated FLS ID
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Send whisper message to a player via RabbitMQ (experimental)
      tags:
      - players
  /api/v1/config:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/main.appConfig'
      summary: Get current runtime configuration (secrets masked)
      tags:
      - config
    post:
      consumes:
      - application/json
      parameters:
      - description: Updated configuration
        in: body
        name: config
        required: true
        schema:
          $ref: '#/definitions/main.appConfig'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Save configuration and reconnect
      tags:
      - config
  /api/v1/contracts:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              type: object
            type: array
      summary: List the catalog of known contracts
      tags:
      - contracts
  /api/v1/database/describe:
    get:
      parameters:
      - description: Table name
        in: query
        name: table
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Describe columns of a table
      tags:
      - database
  /api/v1/database/sample:
    get:
      parameters:
      - description: Table name
        in: query
        name: table
        required: true
        type: string
      - description: Number of rows to return (default 20, max 500)
        in: query
        name: limit
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Return sample rows from a table
      tags:
      - database
  /api/v1/database/search:
    get:
      parameters:
      - description: Search term
        in: query
        name: term
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Search for a term across all table columns
      tags:
      - database
  /api/v1/database/sql:
    post:
      consumes:
      - application/json
      parameters:
      - description: SQL query
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Execute a read-only SQL query (SELECT/EXPLAIN/SHOW only)
      tags:
      - database
  /api/v1/database/tables:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              additionalProperties: true
              type: object
            type: array
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: List all tables in the dune schema
      tags:
      - database
  /api/v1/logs/cheats:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/main.cheatEntry'
            type: array
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Fetch the cheat detection log
      tags:
      - logs
  /api/v1/logs/pods:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/main.logPod'
            type: array
        "503":
          description: Service Unavailable
          schema:
            additionalProperties:
              type: string
            type: object
      summary: List available log sources
      tags:
      - logs
  /api/v1/logs/stream:
    get:
      parameters:
      - description: Namespace or log source
        in: query
        name: ns
        required: true
        type: string
      - description: Pod or log file name
        in: query
        name: pod
        required: true
        type: string
      produces:
      - text/plain
      responses:
        "503":
          description: Service Unavailable
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Stream log via WebSocket
      tags:
      - logs
  /api/v1/market-bot/cleanup:
    post:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              format: int64
              type: integer
            type: object
        "503":
          description: Service Unavailable
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Trigger market bot listing cleanup
      tags:
      - market-bot
  /api/v1/market-bot/config:
    put:
      consumes:
      - application/json
      parameters:
      - description: Configuration patch
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "503":
          description: Service Unavailable
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Update market bot configuration
      tags:
      - market-bot
  /api/v1/market-bot/exec:
    post:
      consumes:
      - application/json
      parameters:
      - description: 'Command: start, stop, or restart'
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "503":
          description: Service Unavailable
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Execute a lifecycle command on the market bot (start/stop/restart)
      tags:
      - market-bot
  /api/v1/market-bot/logs:
    get:
      produces:
      - text/plain
      responses:
        "101":
          description: Switching Protocols
          schema:
            type: string
        "503":
          description: Service Unavailable
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Stream market bot log output via WebSocket
      tags:
      - market-bot
  /api/v1/market-bot/logs-ready:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
      summary: Check whether market bot log streaming is available
      tags:
      - market-bot
  /api/v1/market-bot/status:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
      summary: Get market bot running status and mode
      tags:
      - market-bot
  /api/v1/market/catalog:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              additionalProperties: true
              type: object
            type: array
      summary: List all known item templates with display names
      tags:
      - market
  /api/v1/market/categories:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              type: string
            type: array
      summary: List distinct item categories from the item catalog
      tags:
      - market
  /api/v1/market/items:
    get:
      parameters:
      - description: Filter by display name or template ID
        in: query
        name: search
        type: string
      - description: Filter by category prefix
        in: query
        name: category
        type: string
      - description: Filter by item tier
        in: query
        name: tier
        type: integer
      - description: Filter by rarity
        in: query
        name: rarity
        type: string
      - description: Filter by owner type (bot|player|all)
        in: query
        name: owner
        type: string
      - description: Page number (0-based)
        in: query
        name: page
        type: integer
      - description: Page size (default 100, max 500)
        in: query
        name: limit
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: List market items aggregated by template ID
      tags:
      - market
  /api/v1/market/listings:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              additionalProperties: true
              type: object
            type: array
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: List individual active market listings
      tags:
      - market
  /api/v1/market/sales:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              additionalProperties: true
              type: object
            type: array
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: List recent fulfilled market sales
      tags:
      - market
  /api/v1/market/stats:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Return aggregate market statistics
      tags:
      - market
  /api/v1/notify:
    post:
      consumes:
      - application/json
      parameters:
      - description: Routing key, keywords, and notification content
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "503":
          description: Service Unavailable
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Publish an in-game notification via mq-game RabbitMQ exchange
      tags:
      - notifications
  /api/v1/players:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/main.playerInfo'
            type: array
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: List all players
      tags:
      - players
  /api/v1/players/{id}/char-xp:
    get:
      parameters:
      - description: Player ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Get character XP and level for a player
      tags:
      - players
  /api/v1/players/{id}/dungeons:
    get:
      parameters:
      - description: Player ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/main.dungeonRecord'
            type: array
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Get dungeon run records for a player
      tags:
      - players
  /api/v1/players/{id}/events:
    get:
      parameters:
      - description: Player ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/main.gameEvent'
            type: array
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Get event log entries for a player
      tags:
      - players
  /api/v1/players/{id}/export:
    get:
      parameters:
      - description: Account ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/octet-stream
      responses:
        "200":
          description: character-{id}.json attachment
          schema:
            type: string
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "404":
          description: Not Found
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Export a character's data as a JSON attachment
      tags:
      - players
  /api/v1/players/{id}/inventory:
    get:
      parameters:
      - description: Player ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/main.itemInfo'
            type: array
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Get inventory for a player
      tags:
      - players
  /api/v1/players/{id}/journey:
    get:
      parameters:
      - description: Account ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              type: object
            type: array
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Get journey node state for an account
      tags:
      - players
  /api/v1/players/{id}/keystones:
    get:
      parameters:
      - description: Player ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              type: object
            type: array
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Get keystones owned by a player
      tags:
      - players
  /api/v1/players/{id}/player-ids:
    get:
      parameters:
      - description: Actor (pawn) ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "404":
          description: Not Found
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Resolve actor ID to both ID forms and render a sample RMQ envelope
      tags:
      - players
  /api/v1/players/{id}/position:
    get:
      parameters:
      - description: Player ID (actor ID)
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Get world position of a player's character
      tags:
      - players
  /api/v1/players/{id}/specs:
    get:
      parameters:
      - description: Player ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/main.specTrack'
            type: array
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Get specialization tracks for a specific player
      tags:
      - players
  /api/v1/players/{id}/tags:
    get:
      parameters:
      - description: Account ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              type: string
            type: array
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Get tags assigned to a player account
      tags:
      - players
  /api/v1/players/{id}/vehicles:
    get:
      parameters:
      - description: Player ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/main.vehicleRow'
            type: array
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Get vehicles owned by a player
      tags:
      - players
  /api/v1/players/award-char-xp:
    post:
      consumes:
      - application/json
      parameters:
      - description: fls_id (optional), player_id, amount
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Award character XP to a player (live RMQ or DB fallback)
      tags:
      - players
  /api/v1/players/award-intel:
    post:
      consumes:
      - application/json
      parameters:
      - description: player_id, amount
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Award intel points to a player
      tags:
      - players
  /api/v1/players/award-xp:
    post:
      consumes:
      - application/json
      parameters:
      - description: player_id, track_type, delta
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Award XP on a specialization track for a player
      tags:
      - players
  /api/v1/players/cheat-script:
    post:
      consumes:
      - application/json
      parameters:
      - description: Player FLS ID and script name
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Send cheat script command via RabbitMQ
      tags:
      - players
  /api/v1/players/clean-inventory:
    post:
      consumes:
      - application/json
      parameters:
      - description: Player FLS ID
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Send clean-inventory command via RabbitMQ
      tags:
      - players
  /api/v1/players/contract/complete:
    post:
      consumes:
      - application/json
      parameters:
      - description: account_id, contract_id
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Complete a single contract for an account
      tags:
      - contracts
  /api/v1/players/contracts/complete:
    post:
      consumes:
      - application/json
      parameters:
      - description: account_id, contract_ids ([]string)
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Complete multiple contracts for an account
      tags:
      - contracts
  /api/v1/players/contracts/reverse:
    post:
      consumes:
      - application/json
      parameters:
      - description: account_id, contract_ids ([]string)
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Reverse (undo) multiple completed contracts for an account
      tags:
      - contracts
  /api/v1/players/currency:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/main.currencyRow'
            type: array
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: List currency balances for all players
      tags:
      - players
  /api/v1/players/delete-account:
    post:
      consumes:
      - application/json
      parameters:
      - description: account_id, reason
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Delete a player account and all associated data
      tags:
      - players
  /api/v1/players/delete-tutorials:
    post:
      consumes:
      - application/json
      parameters:
      - description: player_id
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Delete all tutorial records for a player
      tags:
      - players
  /api/v1/players/dismiss-returning-player-award:
    post:
      consumes:
      - application/json
      parameters:
      - description: account_id
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Dismiss the returning-player award for an account
      tags:
      - players
  /api/v1/players/factions:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/main.factionRep'
            type: array
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: List faction reputation for all players
      tags:
      - players
  /api/v1/players/fill-water:
    post:
      consumes:
      - application/json
      parameters:
      - description: Player FLS ID and optional water amount
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Send fill-water command via RabbitMQ
      tags:
      - players
  /api/v1/players/give-currency:
    post:
      consumes:
      - application/json
      parameters:
      - description: player_id, amount
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Give currency to a player
      tags:
      - players
  /api/v1/players/give-faction-rep:
    post:
      consumes:
      - application/json
      parameters:
      - description: actor_id, faction_id, delta
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Adjust faction reputation for a player
      tags:
      - players
  /api/v1/players/give-item:
    post:
      consumes:
      - application/json
      parameters:
      - description: player_id, template, qty, quality
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "404":
          description: Not Found
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Give a single item to a player
      tags:
      - players
  /api/v1/players/give-item-live:
    post:
      consumes:
      - application/json
      parameters:
      - description: Actor ID, item template, quantity, and durability
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "404":
          description: Not Found
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Send give-item command via RabbitMQ to an online player
      tags:
      - players
  /api/v1/players/give-items:
    post:
      consumes:
      - application/json
      parameters:
      - description: player_id and items list
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/main.giveItemsRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Give multiple items to a player in a single request
      tags:
      - players
  /api/v1/players/give-scrip:
    post:
      consumes:
      - application/json
      parameters:
      - description: actor_id, delta
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Adjust Landsraad scrip for a player
      tags:
      - players
  /api/v1/players/grant-all-keystones:
    post:
      consumes:
      - application/json
      parameters:
      - description: player_id
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Grant all keystones to a player
      tags:
      - players
  /api/v1/players/grant-job-skills:
    post:
      consumes:
      - application/json
      parameters:
      - description: account_id, job
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Grant job skills for a specific job to an account
      tags:
      - players
  /api/v1/players/grant-live:
    post:
      consumes:
      - application/json
      parameters:
      - description: controller_id, template, amount
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Grant an item to a player via FLS/PlayFab live path
      tags:
      - players
  /api/v1/players/grant-max-spec:
    post:
      consumes:
      - application/json
      parameters:
      - description: player_id, track_type
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Grant max level on a specialization track for a player
      tags:
      - players
  /api/v1/players/item/{id}:
    delete:
      parameters:
      - description: Item ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Delete a specific inventory item by item ID
      tags:
      - players
  /api/v1/players/journey/complete:
    post:
      consumes:
      - application/json
      parameters:
      - description: account_id, node_id
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Mark a journey node as complete for an account
      tags:
      - players
  /api/v1/players/journey/reset:
    post:
      consumes:
      - application/json
      parameters:
      - description: account_id, node_id
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Reset (incomplete) a journey node for an account
      tags:
      - players
  /api/v1/players/journey/wipe:
    post:
      consumes:
      - application/json
      parameters:
      - description: account_id
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Wipe all journey nodes for an account
      tags:
      - players
  /api/v1/players/kick:
    post:
      consumes:
      - application/json
      parameters:
      - description: Player FLS ID
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Send kick command via RabbitMQ
      tags:
      - players
  /api/v1/players/online:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              type: object
            type: array
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Get online state for all players
      tags:
      - players
  /api/v1/players/partitions:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/main.teleportLocation'
            type: array
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: List available teleport partition locations
      tags:
      - players
  /api/v1/players/progression-reverse:
    post:
      consumes:
      - application/json
      parameters:
      - description: player_id, faction, preset
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Reverse a previously unlocked progression preset for a player
      tags:
      - progression
  /api/v1/players/progression-unlock:
    post:
      consumes:
      - application/json
      parameters:
      - description: player_id, faction, preset
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Unlock a progression preset for a player
      tags:
      - progression
  /api/v1/players/refuel-vehicle:
    post:
      consumes:
      - application/json
      parameters:
      - description: player_id, vehicle_id
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Refuel a player's vehicle to full fuel
      tags:
      - players
  /api/v1/players/rename:
    post:
      consumes:
      - application/json
      parameters:
      - description: account_id, name
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Rename a player's character
      tags:
      - players
  /api/v1/players/repair-gear:
    post:
      consumes:
      - application/json
      parameters:
      - description: player_id
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Repair all equipped gear for a player
      tags:
      - players
  /api/v1/players/repair-item:
    post:
      consumes:
      - application/json
      parameters:
      - description: id (item ID)
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Repair a single inventory item to full durability
      tags:
      - players
  /api/v1/players/repair-vehicle:
    post:
      consumes:
      - application/json
      parameters:
      - description: player_id, vehicle_id
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Repair a player's vehicle to full durability
      tags:
      - players
  /api/v1/players/reset-all-keystones:
    post:
      consumes:
      - application/json
      parameters:
      - description: player_id
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Reset all keystones for a player
      tags:
      - players
  /api/v1/players/reset-job-skills:
    post:
      consumes:
      - application/json
      parameters:
      - description: account_id, job
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Reset job skills for an account
      tags:
      - players
  /api/v1/players/reset-progression:
    post:
      consumes:
      - application/json
      parameters:
      - description: Player FLS ID
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Send reset-progression command via RabbitMQ
      tags:
      - players
  /api/v1/players/reset-spec:
    post:
      consumes:
      - application/json
      parameters:
      - description: player_id, track_type
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Reset a specialization track for a player
      tags:
      - players
  /api/v1/players/returning-player-award:
    post:
      consumes:
      - application/json
      parameters:
      - description: account_id
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Grant the returning-player award to an account
      tags:
      - players
  /api/v1/players/set-faction-tier:
    post:
      consumes:
      - application/json
      parameters:
      - description: actor_id, faction_id, tier
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Set a player's tier within a faction
      tags:
      - players
  /api/v1/players/set-skill-module:
    post:
      consumes:
      - application/json
      parameters:
      - description: Player FLS ID, module name, and level
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Send set-skill-module command via RabbitMQ
      tags:
      - players
  /api/v1/players/set-skill-points:
    post:
      consumes:
      - application/json
      parameters:
      - description: Player FLS ID and skill points value
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Send set-skill-points command via RabbitMQ
      tags:
      - players
  /api/v1/players/set-starter-class:
    post:
      consumes:
      - application/json
      parameters:
      - description: account_id, job
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Set the starter class (job) for an account
      tags:
      - players
  /api/v1/players/specs:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/main.specTrack'
            type: array
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: List specialization tracks for all players
      tags:
      - players
  /api/v1/players/teleport:
    post:
      consumes:
      - application/json
      parameters:
      - description: fls_id, partition_label
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "404":
          description: Not Found
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Teleport a player to a named partition location
      tags:
      - players
  /api/v1/players/teleport-to-player:
    post:
      consumes:
      - application/json
      parameters:
      - description: source_fls_id, target_id (actor ID)
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "404":
          description: Not Found
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Teleport a player to another player's current position
      tags:
      - players
  /api/v1/players/templates:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              type: object
            type: array
      summary: List all known item templates
      tags:
      - players
  /api/v1/players/update-tags:
    post:
      consumes:
      - application/json
      parameters:
      - description: account_id, add ([]string), remove ([]string)
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Add or remove tags on a player account
      tags:
      - players
  /api/v1/players/wipe-codex:
    post:
      consumes:
      - application/json
      parameters:
      - description: account_id
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Wipe the codex for an account
      tags:
      - players
  /api/v1/reconnect:
    post:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Tear down and re-establish all backend connections
      tags:
      - status
  /api/v1/server-settings:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
        "503":
          description: Service Unavailable
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Get server INI settings and raw sections
      tags:
      - server-settings
    put:
      consumes:
      - application/json
      parameters:
      - description: List of setting updates
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "503":
          description: Service Unavailable
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Apply one or more server setting changes
      tags:
      - server-settings
  /api/v1/server-settings/raw:
    put:
      consumes:
      - application/json
      parameters:
      - description: Section name and raw INI lines
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "503":
          description: Service Unavailable
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Replace a raw INI section (array lines included)
      tags:
      - server-settings
  /api/v1/status:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
      summary: Return connection state and build info
      tags:
      - status
  /api/v1/storage:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              additionalProperties: true
              type: object
            type: array
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: List all storage containers
      tags:
      - storage
  /api/v1/storage/{id}/give-item:
    post:
      consumes:
      - application/json
      parameters:
      - description: Container ID
        in: path
        name: id
        required: true
        type: integer
      - description: Item to give
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Give a single item to a storage container
      tags:
      - storage
  /api/v1/storage/{id}/give-items:
    post:
      consumes:
      - application/json
      parameters:
      - description: Container ID
        in: path
        name: id
        required: true
        type: integer
      - description: Items to give
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Give multiple items to a storage container
      tags:
      - storage
  /api/v1/storage/{id}/items:
    get:
      parameters:
      - description: Container ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              additionalProperties: true
              type: object
            type: array
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Get items inside a storage container
      tags:
      - storage
  /api/v1/storage/{id}/owner-debug:
    get:
      parameters:
      - description: Container ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties: true
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "503":
          description: Service Unavailable
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Debug ownership chain for a storage container
      tags:
      - storage
  /api/v1/update/apply:
    post:
      consumes:
      - application/json
      parameters:
      - description: Set force=true to reinstall even when up to date
        in: body
        name: body
        schema:
          $ref: '#/definitions/main.updateApplyRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/main.updateApplyResponse'
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
        "502":
          description: Bad Gateway
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Download and apply the latest release, then restart
      tags:
      - update
  /api/v1/update/check:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/main.updateCheckResponse'
        "502":
          description: Bad Gateway
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Check for a newer release on GitHub
      tags:
      - update
  /api/v1/vehicles/spawn:
    post:
      consumes:
      - application/json
      parameters:
      - description: FLS ID, class name, coordinates, rotation, template, persistence,
          and faction
        in: body
        name: body
        required: true
        schema:
          type: object
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            additionalProperties:
              type: string
            type: object
        "400":
          description: Bad Request
          schema:
            additionalProperties:
              type: string
            type: object
        "500":
          description: Internal Server Error
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Send vehicle spawn command via RabbitMQ
      tags:
      - vehicles
swagger: "2.0"
