Skip to content

Instantly share code, notes, and snippets.

@TobiTenno
Created January 10, 2026 16:22
Show Gist options
  • Select an option

  • Save TobiTenno/64f894cd6cbaf2ff64cc0aa977352cc5 to your computer and use it in GitHub Desktop.

Select an option

Save TobiTenno/64f894cd6cbaf2ff64cc0aa977352cc5 to your computer and use it in GitHub Desktop.
Warframe.Market v2 OpenAPI
openapi: 3.0.3
info:
title: Warframe Market API v2
description: |
Complete OpenAPI specification for Warframe Market API v2.
This API provides access to Warframe trading data including items, orders, rivens,
lich/sister weapons, and user profiles.
**Key Features:**
- Version-based cache invalidation
- Internationalization (i18n) support
- Real-time order data with user presence
- Rich filtering options
- Crossplay support
**Authentication:**
Some endpoints require authentication (marked with 🔒). Authentication is done via
JWT tokens in the Authorization header.
**Rate Limiting:**
Some endpoints have rate limiting (marked with 🌀). Respect cache headers and
implement exponential backoff.
version: 2.0.0
contact:
name: Warframe Market
url: https://warframe.market
license:
name: Proprietary
servers:
- url: https://api.warframe.market/v2
description: Production server
tags:
- name: Authentication
- name: OAuth
- name: System
- name: Dashboard
- name: Manifests
- name: Orders
- name: Users
paths:
/auth/signin:
post:
tags: [Authentication]
summary: Sign in (first-party apps only)
description: Login endpoint for first-party applications. Requires Firebase AppCheck.
operationId: signIn
parameters:
- $ref: '#/components/parameters/FirebaseAppCheck'
requestBody:
$ref: '#/components/requestBodies/SignIn'
responses:
'200':
$ref: '#/components/responses/Auth'
'401':
$ref: '#/components/responses/Unauthorized'
/auth/signup:
post:
tags: [Authentication]
summary: Sign up (first-party apps only)
description: User registration endpoint. Requires Firebase AppCheck.
operationId: signUp
parameters:
- $ref: '#/components/parameters/FirebaseAppCheck'
requestBody:
$ref: '#/components/requestBodies/SignUp'
responses:
'200':
$ref: '#/components/responses/Auth'
'400':
description: Invalid input or email already exists
/auth/refresh:
post:
tags: [Authentication]
summary: Refresh access token
operationId: refreshToken
security:
- BearerAuth: []
requestBody:
$ref: '#/components/requestBodies/RefreshToken'
responses:
'200':
$ref: '#/components/responses/Auth'
'401':
$ref: '#/components/responses/Unauthorized'
/auth/signout:
post:
tags: [Authentication]
summary: Sign out
operationId: signOut
security:
- BearerAuth: []
requestBody:
required: true
content:
application/json:
schema:
type: object
responses:
'200':
description: Successfully signed out
'401':
$ref: '#/components/responses/Unauthorized'
/oauth/authorize:
get:
tags: [OAuth]
summary: OAuth 2.0 authorization request
operationId: oauthAuthorize
responses:
'200':
description: Authorization page or redirect
/oauth/token:
post:
tags: [OAuth]
summary: Exchange authorization code for access token
operationId: oauthToken
responses:
'200':
description: Access token response
/oauth/revoke:
post:
tags: [OAuth]
summary: Revoke OAuth access token
operationId: oauthRevoke
responses:
'200':
description: Token revoked
/dashboard/showcase:
get:
tags: [Dashboard]
summary: Get featured items showcase
operationId: getDashboardShowcase
parameters:
- $ref: '#/components/parameters/Language'
responses:
'200':
$ref: '#/components/responses/DashboardShowcase'
/versions:
get:
tags: [System]
summary: Get API and collection versions
description: Use for version-based cache invalidation
operationId: getVersions
responses:
'200':
$ref: '#/components/responses/Versions'
/items:
get:
tags: [Manifests]
summary: Get list of all tradable items
operationId: getItems
parameters:
- $ref: '#/components/parameters/Language'
responses:
'200':
$ref: '#/components/responses/ItemShortArray'
/item/{slug}:
get:
tags: [Manifests]
summary: Get full info about one item
operationId: getItem
parameters:
- $ref: '#/components/parameters/Slug'
- $ref: '#/components/parameters/Language'
responses:
'200':
$ref: '#/components/responses/Item'
'404':
$ref: '#/components/responses/NotFound'
/item/{slug}/set:
get:
tags: [Manifests]
summary: Get all items in a set
operationId: getItemSet
parameters:
- $ref: '#/components/parameters/Slug'
- $ref: '#/components/parameters/Language'
responses:
'200':
$ref: '#/components/responses/ItemSet'
/riven/weapons:
get:
tags: [Manifests]
summary: Get list of all tradable riven weapons
operationId: getRivenWeapons
parameters:
- $ref: '#/components/parameters/Language'
responses:
'200':
$ref: '#/components/responses/RivenArray'
/riven/weapon/{slug}:
get:
tags: [Manifests]
summary: Get full info about one riven weapon
operationId: getRivenWeapon
parameters:
- $ref: '#/components/parameters/Slug'
- $ref: '#/components/parameters/Language'
responses:
'200':
$ref: '#/components/responses/Riven'
/riven/attributes:
get:
tags: [Manifests]
summary: Get list of all riven attributes
operationId: getRivenAttributes
parameters:
- $ref: '#/components/parameters/Language'
responses:
'200':
$ref: '#/components/responses/RivenAttributeArray'
/lich/weapons:
get:
tags: [Manifests]
summary: Get list of all tradable lich weapons
operationId: getLichWeapons
parameters:
- $ref: '#/components/parameters/Language'
responses:
'200':
$ref: '#/components/responses/LichWeaponArray'
/lich/weapon/{slug}:
get:
tags: [Manifests]
summary: Get full info about one lich weapon
operationId: getLichWeapon
parameters:
- $ref: '#/components/parameters/Slug'
- $ref: '#/components/parameters/Language'
responses:
'200':
$ref: '#/components/responses/LichWeapon'
/lich/ephemeras:
get:
tags: [Manifests]
summary: Get list of all tradable lich ephemeras
operationId: getLichEphemeras
parameters:
- $ref: '#/components/parameters/Language'
responses:
'200':
$ref: '#/components/responses/LichEphemeraArray'
/lich/quirks:
get:
tags: [Manifests]
summary: Get list of all lich quirks
operationId: getLichQuirks
parameters:
- $ref: '#/components/parameters/Language'
responses:
'200':
$ref: '#/components/responses/LichQuirkArray'
/sister/weapons:
get:
tags: [Manifests]
summary: Get list of all tradable sister weapons
operationId: getSisterWeapons
parameters:
- $ref: '#/components/parameters/Language'
responses:
'200':
$ref: '#/components/responses/SisterWeaponArray'
/sister/weapon/{slug}:
get:
tags: [Manifests]
summary: Get full info about one sister weapon
operationId: getSisterWeapon
parameters:
- $ref: '#/components/parameters/Slug'
- $ref: '#/components/parameters/Language'
responses:
'200':
$ref: '#/components/responses/SisterWeapon'
/sister/ephemeras:
get:
tags: [Manifests]
summary: Get list of all tradable sister ephemeras
operationId: getSisterEphemeras
parameters:
- $ref: '#/components/parameters/Language'
responses:
'200':
$ref: '#/components/responses/SisterEphemeraArray'
/sister/quirks:
get:
tags: [Manifests]
summary: Get list of all sister quirks
operationId: getSisterQuirks
parameters:
- $ref: '#/components/parameters/Language'
responses:
'200':
$ref: '#/components/responses/SisterQuirkArray'
/locations:
get:
tags: [Manifests]
summary: Get list of all locations
operationId: getLocations
parameters:
- $ref: '#/components/parameters/Language'
responses:
'200':
$ref: '#/components/responses/LocationArray'
/npcs:
get:
tags: [Manifests]
summary: Get list of all NPCs
operationId: getNpcs
parameters:
- $ref: '#/components/parameters/Language'
responses:
'200':
$ref: '#/components/responses/NpcArray'
/missions:
get:
tags: [Manifests]
summary: Get list of all missions
operationId: getMissions
parameters:
- $ref: '#/components/parameters/Language'
responses:
'200':
$ref: '#/components/responses/MissionArray'
/orders/recent:
get:
tags: [Orders]
summary: Get recent orders (last 4 hours)
description: Returns up to 500 most recent orders
operationId: getRecentOrders
parameters:
- $ref: '#/components/parameters/Platform'
responses:
'200':
$ref: '#/components/responses/OrderWithUserArray'
/orders/item/{slug}:
get:
tags: [Orders]
summary: Get all orders for an item
operationId: getItemOrders
parameters:
- $ref: '#/components/parameters/Slug'
- $ref: '#/components/parameters/Platform'
responses:
'200':
$ref: '#/components/responses/OrderWithUserArray'
/orders/item/{slug}/top:
get:
tags: [Orders]
summary: Get top orders for an item
description: Top 5 buy and sell orders from online users
operationId: getTopOrders
parameters:
- $ref: '#/components/parameters/Slug'
- $ref: '#/components/parameters/Rank'
- $ref: '#/components/parameters/RankLt'
- $ref: '#/components/parameters/Charges'
- $ref: '#/components/parameters/ChargesLt'
- $ref: '#/components/parameters/AmberStars'
- $ref: '#/components/parameters/AmberStarsLt'
- $ref: '#/components/parameters/CyanStars'
- $ref: '#/components/parameters/CyanStarsLt'
- $ref: '#/components/parameters/Subtype'
- $ref: '#/components/parameters/Platform'
responses:
'200':
$ref: '#/components/responses/TopOrders'
/orders/user/{slug}:
get:
tags: [Orders]
summary: Get public orders from user (by slug)
operationId: getUserOrdersBySlug
parameters:
- $ref: '#/components/parameters/Slug'
- $ref: '#/components/parameters/Platform'
responses:
'200':
$ref: '#/components/responses/OrderArray'
/orders/userId/{userId}:
get:
tags: [Orders]
summary: Get public orders from user (by ID)
operationId: getUserOrdersById
parameters:
- $ref: '#/components/parameters/UserId'
- $ref: '#/components/parameters/Platform'
responses:
'200':
$ref: '#/components/responses/OrderArray'
/orders/my:
get:
tags: [Orders]
summary: Get my orders (authenticated)
security:
- BearerAuth: []
operationId: getMyOrders
parameters:
- $ref: '#/components/parameters/Platform'
responses:
'200':
$ref: '#/components/responses/OrderArray'
'401':
$ref: '#/components/responses/Unauthorized'
/order/{id}:
get:
tags: [Orders]
summary: Get single order by ID
operationId: getOrder
parameters:
- $ref: '#/components/parameters/Id'
responses:
'200':
$ref: '#/components/responses/OrderWithUser'
'404':
$ref: '#/components/responses/NotFound'
/user/{slug}:
get:
tags: [Users]
summary: Get public user profile (by slug)
operationId: getUserBySlug
parameters:
- $ref: '#/components/parameters/Slug'
responses:
'200':
$ref: '#/components/responses/User'
'404':
$ref: '#/components/responses/NotFound'
/userId/{userId}:
get:
tags: [Users]
summary: Get public user profile (by ID)
operationId: getUserById
parameters:
- $ref: '#/components/parameters/UserId'
responses:
'200':
$ref: '#/components/responses/User'
'404':
$ref: '#/components/responses/NotFound'
/me:
get:
tags: [Users]
summary: Get authenticated user profile
security:
- BearerAuth: []
operationId: getMe
responses:
'200':
$ref: '#/components/responses/UserPrivate'
'401':
$ref: '#/components/responses/Unauthorized'
components:
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
parameters:
Slug:
name: slug
in: path
required: true
schema:
type: string
example: ash_prime_systems
Id:
name: id
in: path
required: true
schema:
type: string
UserId:
name: userId
in: path
required: true
schema:
type: string
Language:
name: Language
in: header
schema:
$ref: '#/components/schemas/Language'
example: en
Platform:
name: Platform
in: header
required: true
schema:
$ref: '#/components/schemas/Platform'
example: pc
FirebaseAppCheck:
name: X-Firebase-AppCheck
in: header
required: true
schema:
type: string
Rank:
name: rank
in: query
schema:
type: integer
minimum: 0
RankLt:
name: rankLt
in: query
schema:
type: integer
minimum: 1
Charges:
name: charges
in: query
schema:
type: integer
minimum: 0
ChargesLt:
name: chargesLt
in: query
schema:
type: integer
minimum: 1
AmberStars:
name: amberStars
in: query
schema:
type: integer
minimum: 0
AmberStarsLt:
name: amberStarsLt
in: query
schema:
type: integer
minimum: 1
CyanStars:
name: cyanStars
in: query
schema:
type: integer
minimum: 0
CyanStarsLt:
name: cyanStarsLt
in: query
schema:
type: integer
minimum: 1
Subtype:
name: subtype
in: query
schema:
type: string
requestBodies:
SignIn:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SignInRequest'
SignUp:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SignUpRequest'
RefreshToken:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RefreshTokenRequest'
responses:
NotFound:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
Unauthorized:
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
Auth:
description: Authentication successful
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- properties:
data:
$ref: '#/components/schemas/AuthData'
DashboardShowcase:
description: Dashboard data
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- properties:
data:
$ref: '#/components/schemas/DashboardShowcase'
Versions:
description: Version information
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- properties:
data:
$ref: '#/components/schemas/VersionsData'
ItemShortArray:
description: List of items
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- properties:
data:
type: array
items:
$ref: '#/components/schemas/ItemShort'
Item:
description: Item details
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- properties:
data:
$ref: '#/components/schemas/Item'
ItemSet:
description: Item set
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- properties:
data:
$ref: '#/components/schemas/ItemSetData'
RivenArray:
description: Riven weapons list
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- properties:
data:
type: array
items:
$ref: '#/components/schemas/Riven'
Riven:
description: Riven weapon
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- properties:
data:
$ref: '#/components/schemas/Riven'
RivenAttributeArray:
description: Riven attributes
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- properties:
data:
type: array
items:
$ref: '#/components/schemas/RivenAttribute'
LichWeaponArray:
description: Lich weapons
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- properties:
data:
type: array
items:
$ref: '#/components/schemas/LichWeapon'
LichWeapon:
description: Lich weapon
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- properties:
data:
$ref: '#/components/schemas/LichWeapon'
LichEphemeraArray:
description: Lich ephemeras
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- properties:
data:
type: array
items:
$ref: '#/components/schemas/LichEphemera'
LichQuirkArray:
description: Lich quirks
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- properties:
data:
type: array
items:
$ref: '#/components/schemas/LichQuirk'
SisterWeaponArray:
description: Sister weapons
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- properties:
data:
type: array
items:
$ref: '#/components/schemas/SisterWeapon'
SisterWeapon:
description: Sister weapon
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- properties:
data:
$ref: '#/components/schemas/SisterWeapon'
SisterEphemeraArray:
description: Sister ephemeras
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- properties:
data:
type: array
items:
$ref: '#/components/schemas/SisterEphemera'
SisterQuirkArray:
description: Sister quirks
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- properties:
data:
type: array
items:
$ref: '#/components/schemas/SisterQuirk'
LocationArray:
description: Locations
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- properties:
data:
type: array
items:
$ref: '#/components/schemas/Location'
NpcArray:
description: NPCs
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- properties:
data:
type: array
items:
$ref: '#/components/schemas/Npc'
MissionArray:
description: Missions
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- properties:
data:
type: array
items:
$ref: '#/components/schemas/Mission'
OrderArray:
description: Orders
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- properties:
data:
type: array
items:
$ref: '#/components/schemas/Order'
OrderWithUserArray:
description: Orders with users
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- properties:
data:
type: array
items:
$ref: '#/components/schemas/OrderWithUser'
OrderWithUser:
description: Order
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- properties:
data:
$ref: '#/components/schemas/OrderWithUser'
TopOrders:
description: Top orders
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- properties:
data:
$ref: '#/components/schemas/TopOrdersData'
User:
description: User profile
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- properties:
data:
$ref: '#/components/schemas/User'
UserPrivate:
description: Private user profile
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- properties:
data:
$ref: '#/components/schemas/UserPrivate'
schemas:
# Response wrappers
ApiResponse:
type: object
required: [apiVersion]
properties:
apiVersion:
type: string
example: "2.0.0"
data:
description: Response data (type varies by endpoint)
error:
nullable: true
description: Always null for successful responses
ErrorResponse:
type: object
required: [apiVersion, error]
properties:
apiVersion:
type: string
data:
nullable: true
description: Always null for error responses
error:
type: object
properties:
code:
type: integer
message:
type: string
# Request schemas
SignInRequest:
type: object
required: [email, password, clientId, deviceId, deviceName]
properties:
email:
type: string
format: email
password:
type: string
format: password
clientId:
type: string
deviceId:
type: string
deviceName:
type: string
SignUpRequest:
allOf:
- $ref: '#/components/schemas/SignInRequest'
- type: object
required: [platform, locale]
properties:
platform:
$ref: '#/components/schemas/Platform'
locale:
$ref: '#/components/schemas/Language'
RefreshTokenRequest:
type: object
required: [grantType, clientId, deviceId, refreshToken]
properties:
grantType:
type: string
enum: [refresh_token]
clientId:
type: string
deviceId:
type: string
refreshToken:
type: string
# Data schemas
AuthData:
type: object
required: [accessToken, refreshToken, tokenType, expiresIn]
properties:
accessToken:
type: string
refreshToken:
type: string
tokenType:
type: string
enum: [Bearer]
expiresIn:
type: integer
ItemSetData:
type: object
properties:
id:
type: string
items:
type: array
items:
$ref: '#/components/schemas/Item'
TopOrdersData:
type: object
properties:
buy:
type: array
maxItems: 5
items:
$ref: '#/components/schemas/OrderWithUser'
sell:
type: array
maxItems: 5
items:
$ref: '#/components/schemas/OrderWithUser'
VersionsData:
type: object
properties:
apps:
type: object
properties:
ios:
type: string
android:
type: string
minIos:
type: string
minAndroid:
type: string
collections:
type: object
properties:
items:
type: string
rivens:
type: string
liches:
type: string
sisters:
type: string
missions:
type: string
npcs:
type: string
locations:
type: string
updatedAt:
type: string
format: date-time
# I18N base
I18N:
type: object
properties:
name:
type: string
description:
type: string
wikiLink:
type: string
icon:
type: string
thumb:
type: string
subIcon:
type: string
nodeName:
type: string
systemName:
type: string
# Enums
Status:
type: string
enum: [invisible, offline, online, ingame]
ActivityType:
type: string
enum: [UNKNOWN, IDLE, ON_MISSION, IN_DOJO, IN_ORBITER, IN_RELAY]
Role:
type: string
enum: [user, moderator, admin]
Tier:
type: string
enum: [none, bronze, silver, gold, diamond]
Language:
type: string
enum: [ko, ru, de, fr, pt, zh-hans, zh-hant, es, it, pl, uk, en]
Platform:
type: string
enum: [pc, ps4, xbox, switch, mobile]
OrderType:
type: string
enum: [buy, sell]
# Dashboard
DashboardShowcaseI18N:
type: object
properties:
title:
type: string
description:
type: string
DashboardShowcaseItem:
type: object
required: [item, background, bigCard]
properties:
item:
type: string
background:
type: string
bigCard:
type: boolean
DashboardShowcase:
type: object
properties:
i18n:
type: object
additionalProperties:
$ref: '#/components/schemas/DashboardShowcaseI18N'
items:
type: array
items:
$ref: '#/components/schemas/DashboardShowcaseItem'
# Items
ItemShort:
type: object
required: [id, slug, gameRef, tags]
properties:
id:
type: string
slug:
type: string
gameRef:
type: string
tags:
type: array
items:
type: string
setRoot:
type: boolean
nullable: true
setParts:
type: array
items:
type: string
quantityInSet:
type: integer
rarity:
type: string
bulkTradable:
type: boolean
subtypes:
type: array
items:
type: string
maxRank:
type: integer
maxCharges:
type: integer
maxAmberStars:
type: integer
maxCyanStars:
type: integer
baseEndo:
type: integer
endoMultiplier:
type: number
ducats:
type: integer
vosfor:
type: integer
reqMasteryRank:
type: integer
nullable: true
vaulted:
type: boolean
nullable: true
tradingTax:
type: integer
tradable:
type: boolean
nullable: true
i18n:
type: object
additionalProperties:
$ref: '#/components/schemas/I18N'
Item:
allOf:
- $ref: '#/components/schemas/ItemShort'
# Rivens
Riven:
type: object
required: [id, slug, gameRef, disposition, reqMasteryRank]
properties:
id:
type: string
slug:
type: string
gameRef:
type: string
group:
type: string
rivenType:
type: string
enum: [kitgun, melee, pistol, rifle, shotgun, zaw]
disposition:
type: number
reqMasteryRank:
type: integer
i18n:
type: object
additionalProperties:
$ref: '#/components/schemas/I18N'
RivenAttribute:
type: object
required: [id, slug, gameRef, prefix, suffix]
properties:
id:
type: string
slug:
type: string
gameRef:
type: string
group:
type: string
prefix:
type: string
suffix:
type: string
exclusiveTo:
type: array
items:
type: string
positiveIsNegative:
type: boolean
unit:
type: string
positiveOnly:
type: boolean
negativeOnly:
type: boolean
i18n:
type: object
additionalProperties:
$ref: '#/components/schemas/I18N'
# Lich/Sister
LichWeapon:
type: object
required: [id, slug, gameRef, reqMasteryRank]
properties:
id:
type: string
slug:
type: string
gameRef:
type: string
reqMasteryRank:
type: integer
i18n:
type: object
additionalProperties:
$ref: '#/components/schemas/I18N'
SisterWeapon:
allOf:
- $ref: '#/components/schemas/LichWeapon'
LichEphemera:
type: object
required: [id, slug, gameRef, animation, element]
properties:
id:
type: string
slug:
type: string
gameRef:
type: string
animation:
type: string
element:
type: string
i18n:
type: object
additionalProperties:
$ref: '#/components/schemas/I18N'
SisterEphemera:
allOf:
- $ref: '#/components/schemas/LichEphemera'
LichQuirk:
type: object
required: [id, slug]
properties:
id:
type: string
slug:
type: string
group:
type: string
i18n:
type: object
additionalProperties:
$ref: '#/components/schemas/I18N'
SisterQuirk:
allOf:
- $ref: '#/components/schemas/LichQuirk'
# Metadata
Location:
type: object
required: [id, slug, gameRef]
properties:
id:
type: string
slug:
type: string
gameRef:
type: string
faction:
type: string
minLevel:
type: integer
maxLevel:
type: integer
i18n:
type: object
additionalProperties:
$ref: '#/components/schemas/I18N'
Mission:
type: object
required: [id, slug, gameRef]
properties:
id:
type: string
slug:
type: string
gameRef:
type: string
i18n:
type: object
additionalProperties:
$ref: '#/components/schemas/I18N'
Npc:
type: object
required: [id, slug, gameRef]
properties:
id:
type: string
slug:
type: string
gameRef:
type: string
i18n:
type: object
additionalProperties:
$ref: '#/components/schemas/I18N'
# Orders
Order:
type: object
required: [id, type, platinum, quantity, visible, createdAt, updatedAt, itemId, group]
properties:
id:
type: string
type:
$ref: '#/components/schemas/OrderType'
platinum:
type: integer
quantity:
type: integer
perTrade:
type: integer
rank:
type: integer
nullable: true
charges:
type: integer
nullable: true
subtype:
type: string
amberStars:
type: integer
nullable: true
cyanStars:
type: integer
nullable: true
visible:
type: boolean
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
itemId:
type: string
group:
type: string
Activity:
type: object
properties:
type:
$ref: '#/components/schemas/ActivityType'
details:
type: string
startedAt:
type: string
format: date-time
UserShort:
type: object
required: [id, ingameName, reputation, locale, platform, crossplay, status, lastSeen]
properties:
id:
type: string
ingameName:
type: string
avatar:
type: string
reputation:
type: integer
locale:
$ref: '#/components/schemas/Language'
platform:
$ref: '#/components/schemas/Platform'
crossplay:
type: boolean
status:
$ref: '#/components/schemas/Status'
activity:
$ref: '#/components/schemas/Activity'
lastSeen:
type: string
format: date-time
OrderWithUser:
allOf:
- $ref: '#/components/schemas/Order'
- type: object
required: [user]
properties:
user:
$ref: '#/components/schemas/UserShort'
# Users
Achievement:
type: object
required: [id, slug, type]
properties:
id:
type: string
slug:
type: string
type:
type: string
secret:
type: boolean
reputationBonus:
type: integer
goal:
type: integer
i18n:
type: object
additionalProperties:
$ref: '#/components/schemas/I18N'
state:
type: object
properties:
featured:
type: boolean
hidden:
type: boolean
progress:
type: integer
nullable: true
completedAt:
type: string
format: date-time
User:
type: object
required: [id, ingameName, reputation, platform, crossplay, locale, status, lastSeen]
properties:
id:
type: string
ingameName:
type: string
avatar:
type: string
background:
type: string
about:
type: string
reputation:
type: integer
masteryLevel:
type: integer
platform:
$ref: '#/components/schemas/Platform'
crossplay:
type: boolean
locale:
$ref: '#/components/schemas/Language'
achievementShowcase:
type: array
items:
$ref: '#/components/schemas/Achievement'
status:
$ref: '#/components/schemas/Status'
activity:
$ref: '#/components/schemas/Activity'
lastSeen:
type: string
format: date-time
banned:
type: boolean
banUntil:
type: string
format: date-time
warned:
type: boolean
warnMessage:
type: string
banMessage:
type: string
UserPrivate:
allOf:
- $ref: '#/components/schemas/User'
- type: object
required: [role, credits, tier, subscription, checkCode, verification]
properties:
role:
$ref: '#/components/schemas/Role'
aboutRaw:
type: string
masteryRank:
type: integer
credits:
type: integer
theme:
type: string
enum: [light, dark, system]
verification:
type: boolean
checkCode:
type: string
tier:
$ref: '#/components/schemas/Tier'
subscription:
type: boolean
reviewsLeft:
type: integer
unreadMessages:
type: integer
ignoreList:
type: array
items:
type: string
deleteInProgress:
type: boolean
deleteAt:
type: string
format: date-time
linkedAccounts:
type: object
hasEmail:
type: boolean
createdAt:
type: string
format: date-time
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment