Skip to content

Commit 0185e67

Browse files
authored
Adds support for economy metrics, store, product, and user finance endpoints (#571)
* Update openapi parameter definitions and add related route handlers to support economy metrics, store listings, products, and user financial data endpoints. * Restore creator-economy changes after merging origin/main * Keep economy docs additive to origin/main * Add support for economy metrics, store listing endpoints, and user Tilia KYC in the API documentation Extend parameters.yaml with groupByDuration, metricDateStart, and metricDateEnd for economy metrics queries; update path definitions to include stores listing and user Tilia KYC endpoints; adjust schemas for additional fields such as accountId and purchaseCount. * Update schemas to explicitly include 'format: date-time' for timestamp fields and specify 'format: int64' for transaction identifiers, ensuring consistency and clarity in API data definitions.
1 parent 1c9c814 commit 0185e67

37 files changed

Lines changed: 855 additions & 1 deletion

openapi/components/parameters.yaml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,14 @@ fuzzy:
307307
in: query
308308
schema:
309309
type: boolean
310+
groupByDuration:
311+
name: groupByDuration
312+
description: Time bucket size for economy metrics. Observed values include `days` and `years`.
313+
required: false
314+
in: query
315+
schema:
316+
type: string
317+
example: days
310318
groupGalleryId:
311319
name: groupGalleryId
312320
description: Must be a valid group gallery ID.
@@ -541,6 +549,22 @@ limit:
541549
schema:
542550
type: integer
543551
example: 100
552+
listingTypeFilter:
553+
name: listingType
554+
description: Filter user listings by category. Observed values include `otp` and `subscription`.
555+
required: false
556+
in: query
557+
schema:
558+
type: string
559+
example: otp
560+
managementPov:
561+
name: managementPov
562+
description: Return stores from the seller management point of view.
563+
required: false
564+
in: query
565+
schema:
566+
type: boolean
567+
example: true
544568
maxUnityVersion:
545569
name: maxUnityVersion
546570
description: The maximum Unity version supported by the asset.
@@ -562,6 +586,22 @@ metadata:
562586
in: query
563587
schema:
564588
type: string
589+
metricDateEnd:
590+
name: metricDateEnd
591+
description: Upper bound for economy metrics queries. Observed formats include both date-only and full ISO timestamps.
592+
required: false
593+
in: query
594+
schema:
595+
type: string
596+
example: 2026-04-04T21:59:59.999Z
597+
metricDateStart:
598+
name: metricDateStart
599+
description: Lower bound for economy metrics queries. Observed formats include both date-only and full ISO timestamps.
600+
required: false
601+
in: query
602+
schema:
603+
type: string
604+
example: 2026-03-28T23:00:00.000Z
565605
minUnityVersion:
566606
name: minUnityVersion
567607
description: The minimum Unity version supported by the asset.
@@ -741,6 +781,20 @@ search:
741781
in: query
742782
schema:
743783
type: string
784+
sellerId:
785+
name: sellerId
786+
description: Seller to retrieve economy metrics for.
787+
required: true
788+
in: query
789+
schema:
790+
$ref: ./schemas/UserID.yaml
791+
sellerIdQuery:
792+
name: sellerId
793+
description: Filter results by seller.
794+
required: false
795+
in: query
796+
schema:
797+
$ref: ./schemas/UserID.yaml
744798
slot:
745799
name: slot
746800
description: The message slot to fetch of a given message type.

openapi/components/paths.yaml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,8 @@
140140
$ref: "./paths/economy.yaml#/paths/~1economy~1store"
141141
/economy/store/shelves:
142142
$ref: "./paths/economy.yaml#/paths/~1economy~1store~1shelves"
143+
/economy/stores:
144+
$ref: "./paths/economy.yaml#/paths/~1economy~1stores"
143145
"/favorite/group/{favoriteGroupType}/{favoriteGroupName}/{userId}":
144146
$ref: "./paths/favorites.yaml#/paths/~1favorite~1group~1{favoriteGroupType}~1{favoriteGroupName}~1{userId}"
145147
/favorite/groups:
@@ -288,6 +290,8 @@
288290
$ref: "./paths/miscellaneous.yaml#/paths/~1js~1app.js"
289291
"/licenseGroups/{licenseGroupId}":
290292
$ref: "./paths/economy.yaml#/paths/~1licenseGroups~1{licenseGroupId}"
293+
/listing:
294+
$ref: "./paths/economy.yaml#/paths/~1listing"
291295
"/listing/{productId}":
292296
$ref: "./paths/economy.yaml#/paths/~1listing~1{productId}"
293297
/logout:
@@ -320,6 +324,8 @@
320324
$ref: "./paths/prints.yaml#/paths/~1prints~1user~1{userId}"
321325
"/prints/{printId}":
322326
$ref: "./paths/prints.yaml#/paths/~1prints~1{printId}"
327+
/products:
328+
$ref: "./paths/economy.yaml#/paths/~1products"
323329
"/products/{productId}":
324330
$ref: "./paths/economy.yaml#/paths/~1products~1{productId}"
325331
/props:
@@ -352,6 +358,12 @@
352358
$ref: "./paths/economy.yaml#/paths/~1user~1{userId}~1balance~1earnings"
353359
"/user/{userId}/economy/account":
354360
$ref: "./paths/economy.yaml#/paths/~1user~1{userId}~1economy~1account"
361+
"/user/{userId}/economy/balances":
362+
$ref: "./paths/economy.yaml#/paths/~1user~1{userId}~1economy~1balances"
363+
"/user/{userId}/economy/payouts/list":
364+
$ref: "./paths/economy.yaml#/paths/~1user~1{userId}~1economy~1payouts~1list"
365+
"/user/{userId}/economy/payouts/status":
366+
$ref: "./paths/economy.yaml#/paths/~1user~1{userId}~1economy~1payouts~1status"
355367
"/user/{userId}/economy/transactions":
356368
$ref: "./paths/economy.yaml#/paths/~1user~1{userId}~1economy~1transactions"
357369
"/user/{userId}/friendRequest":
@@ -362,6 +374,10 @@
362374
$ref: "./paths/inventory.yaml#/paths/~1user~1{userId}~1inventory~1{inventoryItemId}"
363375
"/user/{userId}/listings":
364376
$ref: "./paths/economy.yaml#/paths/~1user~1{userId}~1listings"
377+
"/user/{userId}/products":
378+
$ref: "./paths/economy.yaml#/paths/~1user~1{userId}~1products"
379+
"/user/{userId}/tilia/kyc":
380+
$ref: "./paths/economy.yaml#/paths/~1user~1{userId}~1tilia~1kyc"
365381
"/user/{userId}/tilia/tos":
366382
$ref: "./paths/economy.yaml#/paths/~1user~1{userId}~1tilia~1tos"
367383
/userNotes:

0 commit comments

Comments
 (0)