lawless/api/openapi.yaml

2235 行
54 KiB
YAML

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

openapi: 3.0.0
info:
title: 洪荒大陆挂机手游 API
description: 基于 TDD-05 的 RESTful 接口定义OpenAPI 3.0
version: 1.0.0
contact:
name: 洪荒大陆服务端团队
servers:
- url: https://api.honghuang.example.com
description: 生产网关
- url: https://api-test.honghuang.example.com
description: 测试网关
security:
- bearerAuth: []
paths:
/api/v1/auth/register:
post:
tags: [Auth]
summary: 注册(公开)
security: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RegisterReq'
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/AuthResp'
/api/v1/auth/login:
post:
tags: [Auth]
summary: 登录(公开)
security: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/LoginReq'
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/AuthResp'
/api/v1/characters:
post:
tags: [Character]
summary: 创建角色
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCharacterReq'
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/CharacterResp'
/api/v1/characters/{character_id}:
get:
tags: [Character]
summary: 获取角色状态
parameters:
- name: character_id
in: path
required: true
schema:
type: string
format: uuid
- name: with_snapshot
in: query
schema:
type: boolean
default: false
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/CharacterResp'
/api/v1/characters/{character_id}/realm:
get:
tags: [Realm]
summary: 获取境界进度
parameters:
- name: character_id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/RealmProgressResp'
/api/v1/characters/{character_id}/realm/breakthrough:
post:
tags: [Realm]
summary: 尝试突破
parameters:
- name: character_id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BreakthroughReq'
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/BreakthroughResp'
/api/v1/characters/{character_id}/realm/tribulation:
post:
tags: [Realm]
summary: 发起渡劫
parameters:
- name: character_id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TribulationReq'
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/TribulationResp'
get:
tags: [Realm]
summary: 查询渡劫结果
parameters:
- name: character_id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/TribulationResp'
/api/v1/characters/{character_id}/realm/world-break:
post:
tags: [Realm]
summary: 破界(晋级新世界)
parameters:
- name: character_id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WorldBreakReq'
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/WorldBreakResp'
/api/v1/combats:
post:
tags: [Battle]
summary: 发起战斗
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/StartCombatReq'
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/CombatResp'
/api/v1/combats/{battle_id}:
get:
tags: [Battle]
summary: 查询战报
parameters:
- name: battle_id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/BattleReportResp'
/api/v1/combats/pvp:
post:
tags: [Battle]
summary: PVP 挑战
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PvpChallengeReq'
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/CombatResp'
/api/v1/characters/{character_id}/manuals:
get:
tags: [Manual]
summary: 获取功法列表
parameters:
- name: character_id
in: path
required: true
schema:
type: string
format: uuid
- name: is_buffing
in: query
schema:
type: boolean
- name: page
in: query
schema:
type: integer
default: 1
- name: page_size
in: query
schema:
type: integer
default: 20
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/ManualListResp'
/api/v1/characters/{character_id}/manuals/{manual_instance_id}/upgrade:
post:
tags: [Manual]
summary: 功法升层
parameters:
- name: character_id
in: path
required: true
schema:
type: string
format: uuid
- name: manual_instance_id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpgradeManualReq'
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/ManualResp'
/api/v1/characters/{character_id}/manuals/{manual_instance_id}/buff:
post:
tags: [Manual]
summary: 设置加持功法
parameters:
- name: character_id
in: path
required: true
schema:
type: string
format: uuid
- name: manual_instance_id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BuffManualReq'
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/BuffSlotResp'
/api/v1/characters/{character_id}/skills/learn:
post:
tags: [Skill]
summary: 学习技能
parameters:
- name: character_id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/LearnSkillReq'
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/SkillResp'
/api/v1/characters/{character_id}/skills/{skill_instance_id}/jade-slip:
post:
tags: [Skill]
summary: 生成功法玉简
parameters:
- name: character_id
in: path
required: true
schema:
type: string
format: uuid
- name: skill_instance_id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/JadeSlipReq'
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/ItemResp'
/api/v1/characters/{character_id}/currencies:
get:
tags: [Economy]
summary: 获取货币余额
parameters:
- name: character_id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/CurrencyBalancesResp'
/api/v1/market/orders:
post:
tags: [Economy]
summary: 交易行挂单
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/MarketOrderReq'
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/MarketOrderResp'
/api/v1/market/orders/{order_id}:
delete:
tags: [Economy]
summary: 交易行撤单
parameters:
- name: order_id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/MarketOrderResp'
/api/v1/market/orders/{order_id}/buy:
post:
tags: [Economy]
summary: 交易行购买
parameters:
- name: order_id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BuyOrderReq'
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/TradeResp'
/api/v1/auctions:
get:
tags: [Economy]
summary: 查询拍卖列表
parameters:
- name: world_tier
in: query
schema:
type: integer
- name: auction_type
in: query
schema:
type: string
- name: category
in: query
schema:
type: string
- name: status
in: query
schema:
type: string
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/AuctionListResp'
/api/v1/auctions/{auction_id}/bids:
post:
tags: [Economy]
summary: 拍卖出价
parameters:
- name: auction_id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BidReq'
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/BidResp'
/api/v1/intelligence:
get:
tags: [Economy]
summary: 查询天机阁情报
parameters:
- name: intel_type
in: query
schema:
type: string
- name: target_world_tier
in: query
schema:
type: integer
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/IntelListResp'
/api/v1/intelligence/{order_id}/buy:
post:
tags: [Economy]
summary: 购买情报
parameters:
- name: order_id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/IntelBuffResp'
/api/v1/guilds:
post:
tags: [Social]
summary: 创建组织
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrgReq'
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/OrgResp'
/api/v1/guilds/{guild_id}:
get:
tags: [Social]
summary: 获取组织信息
parameters:
- name: guild_id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/OrgResp'
/api/v1/guilds/{guild_id}/members:
post:
tags: [Social]
summary: 加入组织
parameters:
- name: guild_id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/OrgMemberResp'
/api/v1/guilds/{guild_id}/members/me:
delete:
tags: [Social]
summary: 退出组织
parameters:
- name: guild_id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/OrgMemberResp'
/api/v1/guilds/{guild_id}/members/{character_id}:
put:
tags: [Social]
summary: 管理成员权限
parameters:
- name: guild_id
in: path
required: true
schema:
type: string
format: uuid
- name: character_id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateRoleReq'
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/OrgMemberResp'
/api/v1/relations/{relation_type}/requests:
post:
tags: [Social]
summary: 发起关系请求
parameters:
- name: relation_type
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RelationReq'
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/RelationResp'
/api/v1/relations/{relation_type}/requests/{request_id}/respond:
post:
tags: [Social]
summary: 响应关系请求
parameters:
- name: relation_type
in: path
required: true
schema:
type: string
- name: request_id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RelationResponseReq'
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/RelationResp'
/api/v1/contracts:
post:
tags: [Social]
summary: 发布佣兵委托
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PublishContractReq'
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/ContractResp'
/api/v1/contracts/{contract_id}/accept:
post:
tags: [Social]
summary: 接取佣兵委托
parameters:
- name: contract_id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AcceptContractReq'
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/ContractResp'
/api/v1/bounties:
post:
tags: [Social]
summary: 发布悬赏
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PublishBountyReq'
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/BountyResp'
/api/v1/bounties/{bounty_id}/accept:
post:
tags: [Social]
summary: 接取悬赏
parameters:
- name: bounty_id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/BountyResp'
/api/v1/world/regions/{region_id}:
get:
tags: [Map]
summary: 获取区域信息
parameters:
- name: region_id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/RegionResp'
/api/v1/world/regions/{region_id}/nearby:
get:
tags: [Map]
summary: 查询附近玩家与事件
parameters:
- name: region_id
in: path
required: true
schema:
type: string
format: uuid
- name: limit
in: query
schema:
type: integer
default: 30
- name: event_types
in: query
schema:
type: array
items:
type: string
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/NearbyResp'
/api/v1/instances/{instance_id}/enter:
post:
tags: [Map]
summary: 进入副本/遗迹
parameters:
- name: instance_id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EnterInstanceReq'
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/InstanceRunResp'
/api/v1/world/events:
get:
tags: [Map]
summary: 查询世界事件
parameters:
- name: world_tier
in: query
schema:
type: integer
- name: region_id
in: query
schema:
type: string
format: uuid
- name: event_scope
in: query
schema:
type: string
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/WorldEventListResp'
post:
tags: [Map]
summary: 发起玩家事件
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PlayerEventReq'
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/WorldEventResp'
/api/v1/disciples/{disciple_id}/dispatch:
post:
tags: [Disciple]
summary: 派遣弟子
parameters:
- name: disciple_id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DispatchReq'
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/DiscipleMissionResp'
/api/v1/missions/{mission_id}/claim:
post:
tags: [Disciple]
summary: 领取弟子/领地产出
parameters:
- name: mission_id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/MissionRewardResp'
/api/v1/guilds/{guild_id}/territories/bids:
post:
tags: [Disciple]
summary: 帮派领地竞标
parameters:
- name: guild_id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TerritoryBidReq'
responses:
'200':
description: 成功
content:
application/json:
schema:
$ref: '#/components/schemas/TerritoryBidResp'
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: "Nakama 颁发的 session token,格式 Authorization: Bearer <token>"
schemas:
CommonResp:
type: object
required: [code, message, trace_id]
properties:
code:
type: integer
description: 业务状态码,0 为成功
message:
type: string
trace_id:
type: string
format: uuid
RegisterReq:
type: object
required: [device_id, platform]
properties:
device_id:
type: string
platform:
type: string
enum: [ios, android, harmony, guest]
invite_code:
type: string
LoginReq:
type: object
required: [device_id, platform]
properties:
device_id:
type: string
platform:
type: string
refresh_token:
type: string
AuthResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
player_id:
type: string
nakama_token:
type: string
expires_at:
type: string
format: date-time
is_new:
type: boolean
CreateCharacterReq:
type: object
required: [name, race_id]
properties:
name:
type: string
race_id:
type: string
birth_world_tier:
type: integer
CharacterResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
character_id:
type: string
player_id:
type: string
name:
type: string
race_id:
type: string
world_tier:
type: integer
realm_tier:
type: integer
minor_realm:
type: integer
realm_status:
type: string
level:
type: integer
exp:
type: integer
format: int64
status:
type: string
base_stats:
type: object
battle_stats:
type: object
san_current:
type: integer
san_max:
type: integer
crime_score:
type: integer
reputation_score:
type: integer
last_online_at:
type: string
format: date-time
created_at:
type: string
format: date-time
RealmProgressResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
realm_tier:
type: integer
minor_realm:
type: integer
realm_name:
type: string
exp:
type: integer
format: int64
exp_to_next:
type: integer
format: int64
max_unlocked_world_tier:
type: integer
realm_status:
type: string
breakthrough_ready:
type: boolean
tribulation_pending:
type: boolean
BreakthroughReq:
type: object
required: [target_minor_realm, idempotency_key]
properties:
target_minor_realm:
type: integer
consumables:
type: array
items:
$ref: '#/components/schemas/MaterialCost'
helper_ids:
type: array
items:
type: string
format: uuid
idempotency_key:
type: string
BreakthroughResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
success:
type: boolean
from:
$ref: '#/components/schemas/RealmPoint'
to:
$ref: '#/components/schemas/RealmPoint'
exp_consumed:
type: integer
format: int64
record_id:
type: string
special_event:
type: string
TribulationReq:
type: object
required: [target_realm_tier]
properties:
target_realm_tier:
type: integer
tribulation_type:
type: string
consumables:
type: array
items:
$ref: '#/components/schemas/MaterialCost'
helper_ids:
type: array
items:
type: string
format: uuid
TribulationResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
tribulation_id:
type: string
status:
type: string
base_success_rate:
type: number
modified_success_rate:
type: number
estimated_ticks:
type: integer
start_at:
type: string
format: date-time
result:
type: string
from_realm_tier:
type: integer
to_realm_tier:
type: integer
penalties:
type: object
drops:
type: array
items:
$ref: '#/components/schemas/ItemAmount'
WorldBreakReq:
type: object
required: [target_world_tier, confirm]
properties:
target_world_tier:
type: integer
key_item_instance_id:
type: string
format: uuid
confirm:
type: boolean
WorldBreakResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
success:
type: boolean
from_world_tier:
type: integer
to_world_tier:
type: integer
from_realm_tier:
type: integer
to_realm_tier:
type: integer
breakthrough_record_id:
type: string
world_event:
type: string
ruin_generated:
type: boolean
StartCombatReq:
type: object
required: [battle_type, context_id]
properties:
battle_type:
type: string
context_id:
type: string
format: uuid
party_members:
type: array
items:
type: string
format: uuid
preferred_skills:
type: array
items:
type: string
format: uuid
PvpChallengeReq:
type: object
required: [target_character_id]
properties:
target_character_id:
type: string
format: uuid
bounty_id:
type: string
format: uuid
use_paid_chance:
type: boolean
CombatResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
battle_id:
type: string
status:
type: string
result_summary:
type: object
drops:
type: object
death_penalty_applied:
type: boolean
honor_points:
type: integer
daily_pvp_count:
type: integer
daily_pvp_limit:
type: integer
BattleReportResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
battle_id:
type: string
type:
type: string
realm_tier:
type: integer
game_timestamp:
type: string
format: date-time
attacker:
type: object
defender:
type: object
rounds:
type: array
items:
type: object
result:
type: object
special_events:
type: array
items:
type: object
ManualListResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
total:
type: integer
list:
type: array
items:
$ref: '#/components/schemas/ManualItem'
ManualItem:
type: object
properties:
manual_instance_id:
type: string
manual_id:
type: string
name:
type: string
current_layer:
type: integer
max_layer:
type: integer
proficiency:
type: integer
is_main:
type: boolean
is_buffing:
type: boolean
domain:
type: string
element:
type: string
source_tag:
type: string
UpgradeManualReq:
type: object
required: [materials, idempotency_key]
properties:
materials:
type: array
items:
$ref: '#/components/schemas/MaterialCost'
use_insight_item:
type: boolean
idempotency_key:
type: string
ManualResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
manual_instance_id:
type: string
old_layer:
type: integer
new_layer:
type: integer
success:
type: boolean
proficiency_left:
type: integer
unlocked_skill:
$ref: '#/components/schemas/ItemAmount'
BuffManualReq:
type: object
required: [slot_index]
properties:
slot_index:
type: integer
unset_others:
type: boolean
BuffSlotResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
slot_index:
type: integer
manual_instance_id:
type: string
buff_speed_bonus:
type: number
breakin_until:
type: string
format: date-time
LearnSkillReq:
type: object
required: [source_type, source_id]
properties:
source_type:
type: string
source_id:
type: string
custom_name:
type: string
SkillResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
skill_instance_id:
type: string
skill_id:
type: string
name:
type: string
source_tag:
type: string
can_copy_to_jade_slip:
type: boolean
proficiency:
type: integer
instance_data:
type: object
JadeSlipReq:
type: object
required: [consume_proficiency]
properties:
consume_proficiency:
type: boolean
copy_count:
type: integer
ItemResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
inventory_id:
type: string
item_id:
type: string
name:
type: string
quantity:
type: integer
instance_data:
type: object
proficiency_consumed:
type: integer
CurrencyBalancesResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
balances:
type: array
items:
$ref: '#/components/schemas/CurrencyBalance'
CurrencyBalance:
type: object
properties:
currency_code:
type: string
amount:
type: string
total_earned:
type: string
total_spent:
type: string
MarketOrderReq:
type: object
required: [inventory_id, currency_code, unit_price, quantity]
properties:
inventory_id:
type: string
format: uuid
currency_code:
type: string
unit_price:
type: string
quantity:
type: integer
duration_hours:
type: integer
MarketOrderResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
order_id:
type: string
status:
type: string
listed_at:
type: string
format: date-time
expired_at:
type: string
format: date-time
tax_rate:
type: number
BuyOrderReq:
type: object
required: [quantity]
properties:
quantity:
type: integer
TradeResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
trade_id:
type: string
order_id:
type: string
quantity:
type: integer
total_price:
type: string
tax:
type: string
currency_code:
type: string
items:
type: array
items:
$ref: '#/components/schemas/ItemAmount'
AuctionListResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
total:
type: integer
list:
type: array
items:
$ref: '#/components/schemas/AuctionItem'
AuctionItem:
type: object
properties:
auction_id:
type: string
seller_id:
type: string
item_id:
type: string
category:
type: string
currency_code:
type: string
start_price:
type: string
status:
type: string
started_at:
type: string
format: date-time
ended_at:
type: string
format: date-time
BidReq:
type: object
required: [amount]
properties:
amount:
type: string
is_auto_bid:
type: boolean
auto_max_amount:
type: string
BidResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
bid_id:
type: string
auction_id:
type: string
amount:
type: string
deposit_paid:
type: string
is_auto_bid:
type: boolean
bid_at:
type: string
format: date-time
IntelListResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
total:
type: integer
list:
type: array
items:
$ref: '#/components/schemas/IntelItem'
IntelItem:
type: object
properties:
order_id:
type: string
seller_id:
type: string
intel_type:
type: string
target_world_tier:
type: integer
content_summary:
type: string
currency_code:
type: string
price:
type: string
purchase_count:
type: integer
max_purchase:
type: integer
IntelBuffResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
buff_id:
type: string
order_id:
type: string
detail_data:
type: object
expires_at:
type: string
format: date-time
CreateOrgReq:
type: object
required: [org_type, name]
properties:
org_type:
type: string
name:
type: string
region_id:
type: string
format: uuid
founding_members:
type: array
items:
type: string
format: uuid
OrgResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
guild_id:
type: string
name:
type: string
org_type:
type: string
leader_id:
type: string
level:
type: integer
member_limit:
type: integer
created_at:
type: string
format: date-time
UpdateRoleReq:
type: object
required: [role, action]
properties:
role:
type: string
action:
type: string
OrgMemberResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
guild_id:
type: string
character_id:
type: string
role:
type: string
joined_at:
type: string
format: date-time
RelationReq:
type: object
required: [target_character_id]
properties:
target_character_id:
type: string
format: uuid
vow_path:
type: string
RelationResponseReq:
type: object
required: [action]
properties:
action:
type: string
RelationResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
request_id:
type: string
relation_type:
type: string
from_character_id:
type: string
to_character_id:
type: string
status:
type: string
PublishContractReq:
type: object
required: [contract_type, difficulty, currency_code, base_reward]
properties:
contract_type:
type: string
difficulty:
type: integer
currency_code:
type: string
base_reward:
type: string
target_params:
type: object
valid_until:
type: string
format: date-time
AcceptContractReq:
type: object
required: [accept_type]
properties:
accept_type:
type: string
disciple_id:
type: string
format: uuid
party_members:
type: array
items:
type: string
format: uuid
ContractResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
contract_id:
type: string
contract_type:
type: string
status:
type: string
publisher_id:
type: string
base_reward:
type: string
currency_code:
type: string
valid_until:
type: string
format: date-time
PublishBountyReq:
type: object
required: [bounty_type, target_character_id, reward_amount, currency_code]
properties:
bounty_type:
type: string
target_character_id:
type: string
format: uuid
reward_amount:
type: string
currency_code:
type: string
valid_days:
type: integer
is_anonymous:
type: boolean
BountyResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
bounty_id:
type: string
bounty_type:
type: string
target_id:
type: string
reward_amount:
type: string
status:
type: string
valid_until:
type: string
format: date-time
RegionResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
region_id:
type: string
world_tier:
type: integer
name:
type: string
is_safe_zone:
type: boolean
pvp_rules:
type: object
weather:
type: string
resource_density:
type: integer
danger_level:
type: integer
nearby_player_count:
type: integer
NearbyResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
players:
type: array
items:
type: object
events:
type: array
items:
type: object
EnterInstanceReq:
type: object
properties:
party_members:
type: array
items:
type: string
format: uuid
consumable_key_id:
type: string
format: uuid
use_stamina:
type: boolean
InstanceRunResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
run_id:
type: string
instance_id:
type: string
status:
type: string
difficulty_coefficient:
type: number
consumed_keys:
type: integer
started_at:
type: string
format: date-time
WorldEventListResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
total:
type: integer
list:
type: array
items:
$ref: '#/components/schemas/WorldEventItem'
WorldEventItem:
type: object
properties:
event_id:
type: string
event_type:
type: string
world_tier:
type: integer
region_id:
type: string
title:
type: string
content:
type: string
expires_at:
type: string
format: date-time
PlayerEventReq:
type: object
required: [event_type, region_id]
properties:
event_type:
type: string
region_id:
type: string
format: uuid
cost_items:
type: array
items:
$ref: '#/components/schemas/MaterialCost'
description:
type: string
WorldEventResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
event_id:
type: string
event_type:
type: string
status:
type: string
created_at:
type: string
format: date-time
DispatchReq:
type: object
required: [target_type, target_id, duration_minutes]
properties:
target_type:
type: string
target_id:
type: string
format: uuid
duration_minutes:
type: integer
insurance_item_id:
type: string
format: uuid
DiscipleMissionResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
mission_id:
type: string
disciple_id:
type: string
target_type:
type: string
started_at:
type: string
format: date-time
ended_at:
type: string
format: date-time
status:
type: string
MissionRewardResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
mission_id:
type: string
result:
type: string
rewards:
type: object
TerritoryBidReq:
type: object
required: [territory_id, bid_amount]
properties:
territory_id:
type: string
format: uuid
bid_amount:
type: string
is_renewal:
type: boolean
TerritoryBidResp:
allOf:
- $ref: '#/components/schemas/CommonResp'
- type: object
properties:
data:
type: object
properties:
bid_id:
type: string
territory_id:
type: string
bid_amount:
type: string
deposit_locked:
type: string
window_end_at:
type: string
format: date-time
MaterialCost:
type: object
required: [inventory_id, quantity]
properties:
inventory_id:
type: string
format: uuid
quantity:
type: integer
RealmPoint:
type: object
properties:
realm_tier:
type: integer
minor_realm:
type: integer
ItemAmount:
type: object
properties:
inventory_id:
type: string
item_id:
type: string
quantity:
type: integer