feat(#5): use auth
This commit is contained in:
+350
-3
@@ -325,6 +325,25 @@ paths:
|
||||
type: array
|
||||
items:
|
||||
$ref: "#/components/schemas/ReprocessingResultResponse"
|
||||
/refresh:
|
||||
post:
|
||||
tags:
|
||||
- auth
|
||||
summary: Rotate the refresh session and mint a fresh access token
|
||||
operationId: refresh
|
||||
responses:
|
||||
"200":
|
||||
description: A fresh access token; the refresh cookie is rotated
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
$ref: "#/components/schemas/RefreshResponse"
|
||||
"401":
|
||||
description: "Missing, expired, or reused refresh token"
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
$ref: "#/components/schemas/RefreshResponse"
|
||||
/market/types/parse:
|
||||
post:
|
||||
tags:
|
||||
@@ -353,6 +372,15 @@ paths:
|
||||
"400":
|
||||
description: Returned when a line carries a quantity that is not a positive
|
||||
whole number
|
||||
/logout:
|
||||
post:
|
||||
tags:
|
||||
- auth
|
||||
summary: Revoke the refresh session and clear the refresh cookie
|
||||
operationId: logout
|
||||
responses:
|
||||
"204":
|
||||
description: The refresh session is revoked and the cookie cleared
|
||||
/ledgers/main:
|
||||
post:
|
||||
tags:
|
||||
@@ -412,6 +440,18 @@ paths:
|
||||
"400":
|
||||
description: "Invalid request (e.g. blank name, a member ledger missing\
|
||||
\ or already contained)"
|
||||
/characters/add:
|
||||
post:
|
||||
tags:
|
||||
- auth
|
||||
summary: Seed the current user in the session so the next SSO links the new
|
||||
character to them
|
||||
operationId: addCharacter
|
||||
responses:
|
||||
"204":
|
||||
description: The link is seeded; follow with a full-page nav to /oauth2/authorization/esi
|
||||
"401":
|
||||
description: Missing or expired access token
|
||||
/activity/fetch:
|
||||
post:
|
||||
tags:
|
||||
@@ -462,6 +502,25 @@ paths:
|
||||
text/plain:
|
||||
schema:
|
||||
type: string
|
||||
/me:
|
||||
get:
|
||||
tags:
|
||||
- auth
|
||||
summary: Return the authenticated user and the characters they own
|
||||
operationId: me
|
||||
responses:
|
||||
"200":
|
||||
description: The authenticated user and their characters
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
$ref: "#/components/schemas/MeResponse"
|
||||
"401":
|
||||
description: Missing or expired access token
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
$ref: "#/components/schemas/MeResponse"
|
||||
/market/{marketTypeId}/scan:
|
||||
get:
|
||||
tags:
|
||||
@@ -923,18 +982,28 @@ components:
|
||||
schemas:
|
||||
UpdateRuleBookRequest:
|
||||
type: object
|
||||
description: Request to update an existing rule book; replaces its mutable fields.
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
description: Rule book name.
|
||||
example: Trading rules
|
||||
usedForAcquisitions:
|
||||
type: boolean
|
||||
description: Whether this rule book is used to derive acquisitions.
|
||||
example: true
|
||||
ledgerRefs:
|
||||
type: array
|
||||
description: Symbolic ledger references the script writes to; each must
|
||||
be bound to a ledger per character.
|
||||
items:
|
||||
type: string
|
||||
example: sales
|
||||
pattern: "[a-z][a-zA-Z0-9]*"
|
||||
script:
|
||||
type: string
|
||||
description: The classification script source.
|
||||
example: transfer.to('sales')
|
||||
required:
|
||||
- ledgerRefs
|
||||
- name
|
||||
@@ -942,21 +1011,34 @@ components:
|
||||
- usedForAcquisitions
|
||||
RuleBookResponse:
|
||||
type: object
|
||||
description: "A rule book: a named script that classifies transactions, together\
|
||||
\ with the ledger references it expects."
|
||||
properties:
|
||||
ruleBookId:
|
||||
type: string
|
||||
format: uuid
|
||||
description: Unique rule book identifier.
|
||||
example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
|
||||
name:
|
||||
type: string
|
||||
description: Rule book name.
|
||||
example: Trading rules
|
||||
usedForAcquisitions:
|
||||
type: boolean
|
||||
description: Whether this rule book is used to derive acquisitions.
|
||||
example: true
|
||||
ledgerRefs:
|
||||
type: array
|
||||
description: Symbolic ledger references the script writes to; each must
|
||||
be bound to a ledger per character.
|
||||
items:
|
||||
type: string
|
||||
example: sales
|
||||
pattern: "[a-z][a-zA-Z0-9]*"
|
||||
script:
|
||||
type: string
|
||||
description: The classification script source.
|
||||
example: transfer.to('sales')
|
||||
required:
|
||||
- ledgerRefs
|
||||
- name
|
||||
@@ -965,9 +1047,12 @@ components:
|
||||
- usedForAcquisitions
|
||||
UpdateMainLedgerRequest:
|
||||
type: object
|
||||
description: Request to update an existing main ledger.
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
description: New name for the ledger.
|
||||
example: Main wallet
|
||||
required:
|
||||
- name
|
||||
MainLedgerResponse:
|
||||
@@ -978,21 +1063,33 @@ components:
|
||||
ledgerId:
|
||||
type: string
|
||||
format: uuid
|
||||
description: Unique ledger identifier.
|
||||
example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
|
||||
name:
|
||||
type: string
|
||||
description: Ledger name.
|
||||
example: Main wallet
|
||||
balance:
|
||||
type: number
|
||||
description: Current ISK balance of the ledger.
|
||||
example: 1500000.0
|
||||
description: "A main ledger: a standalone ledger with its own balance."
|
||||
required:
|
||||
- balance
|
||||
- ledgerId
|
||||
- name
|
||||
UpdateCombinedLedgerRequest:
|
||||
type: object
|
||||
description: Request to update an existing combined ledger; replaces its name
|
||||
and member set.
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
description: New name for the combined ledger.
|
||||
example: All wallets
|
||||
memberLedgerIds:
|
||||
type: array
|
||||
description: Ids of the ledgers to aggregate.
|
||||
items:
|
||||
type: string
|
||||
format: uuid
|
||||
@@ -1007,15 +1104,24 @@ components:
|
||||
ledgerId:
|
||||
type: string
|
||||
format: uuid
|
||||
description: Unique ledger identifier.
|
||||
example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
|
||||
name:
|
||||
type: string
|
||||
description: Ledger name.
|
||||
example: All wallets
|
||||
balance:
|
||||
type: number
|
||||
description: Aggregate ISK balance across all member ledgers.
|
||||
example: 1500000.0
|
||||
memberLedgerIds:
|
||||
type: array
|
||||
description: Ids of the ledgers aggregated by this combined ledger.
|
||||
items:
|
||||
type: string
|
||||
format: uuid
|
||||
description: "A combined ledger: an aggregate whose balance is the sum of its\
|
||||
\ member ledgers."
|
||||
required:
|
||||
- balance
|
||||
- ledgerId
|
||||
@@ -1023,70 +1129,106 @@ components:
|
||||
- name
|
||||
SetCharacterRuleBookRequest:
|
||||
type: object
|
||||
description: "Request to assign a rule book to a character, binding each of\
|
||||
\ its ledger references to a concrete ledger."
|
||||
properties:
|
||||
ruleBookId:
|
||||
type: string
|
||||
format: uuid
|
||||
description: Id of the rule book to assign.
|
||||
example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
|
||||
bindings:
|
||||
type: object
|
||||
additionalProperties:
|
||||
type: string
|
||||
format: uuid
|
||||
description: Bindings from each ledger reference name to the ledger id it
|
||||
resolves to for this character.
|
||||
example:
|
||||
sales: 5c1e6f2a-1234-4562-b3fc-2c963f66afa6
|
||||
required:
|
||||
- bindings
|
||||
- ruleBookId
|
||||
CharacterResponse:
|
||||
type: object
|
||||
description: An EVE Online character.
|
||||
properties:
|
||||
characterId:
|
||||
type: integer
|
||||
format: int64
|
||||
description: EVE character id.
|
||||
example: 2112625428
|
||||
name:
|
||||
type: string
|
||||
description: Character name.
|
||||
example: CCP Falcon
|
||||
required:
|
||||
- characterId
|
||||
- name
|
||||
CharacterRuleBookResponse:
|
||||
type: object
|
||||
description: "A rule book assigned to a character, with the ledger bindings\
|
||||
\ that resolve its references."
|
||||
properties:
|
||||
character:
|
||||
$ref: "#/components/schemas/CharacterResponse"
|
||||
description: The character the rule book is assigned to.
|
||||
ruleBook:
|
||||
$ref: "#/components/schemas/RuleBookSummaryResponse"
|
||||
description: Summary of the assigned rule book.
|
||||
bindings:
|
||||
type: object
|
||||
additionalProperties:
|
||||
type: string
|
||||
format: uuid
|
||||
description: Bindings from each ledger reference name to the ledger id it
|
||||
resolves to for this character.
|
||||
example:
|
||||
sales: 5c1e6f2a-1234-4562-b3fc-2c963f66afa6
|
||||
required:
|
||||
- bindings
|
||||
- character
|
||||
- ruleBook
|
||||
RuleBookSummaryResponse:
|
||||
type: object
|
||||
description: "Lightweight reference to a rule book: its id and name only."
|
||||
properties:
|
||||
ruleBookId:
|
||||
type: string
|
||||
format: uuid
|
||||
description: Unique rule book identifier.
|
||||
example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
|
||||
name:
|
||||
type: string
|
||||
description: Rule book name.
|
||||
example: Trading rules
|
||||
required:
|
||||
- name
|
||||
- ruleBookId
|
||||
CreateRuleBookRequest:
|
||||
type: object
|
||||
description: Request to create a new rule book.
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
description: Rule book name.
|
||||
example: Trading rules
|
||||
usedForAcquisitions:
|
||||
type: boolean
|
||||
description: Whether this rule book is used to derive acquisitions.
|
||||
example: true
|
||||
ledgerRefs:
|
||||
type: array
|
||||
description: Symbolic ledger references the script writes to; each must
|
||||
be bound to a ledger per character.
|
||||
items:
|
||||
type: string
|
||||
example: sales
|
||||
pattern: "[a-z][a-zA-Z0-9]*"
|
||||
script:
|
||||
type: string
|
||||
description: The classification script source.
|
||||
example: transfer.to('sales')
|
||||
required:
|
||||
- ledgerRefs
|
||||
- name
|
||||
@@ -1094,24 +1236,34 @@ components:
|
||||
- usedForAcquisitions
|
||||
MarketTypeStackRequest:
|
||||
type: object
|
||||
description: A quantity of a single market type to reprocess.
|
||||
properties:
|
||||
marketTypeId:
|
||||
type: integer
|
||||
format: int64
|
||||
description: EVE market type (item) id to reprocess.
|
||||
example: 1230
|
||||
quantity:
|
||||
type: integer
|
||||
format: int64
|
||||
description: Number of units to reprocess.
|
||||
example: 1000
|
||||
required:
|
||||
- marketTypeId
|
||||
- quantity
|
||||
ReprocessItemsRequest:
|
||||
type: object
|
||||
description: Request to reprocess a set of item stacks on behalf of a character.
|
||||
properties:
|
||||
characterId:
|
||||
type: integer
|
||||
format: int64
|
||||
description: EVE character id whose reprocessing skills and facility standings
|
||||
are applied.
|
||||
example: 2112625428
|
||||
items:
|
||||
type: array
|
||||
description: Item stacks to reprocess.
|
||||
items:
|
||||
$ref: "#/components/schemas/MarketTypeStackRequest"
|
||||
required:
|
||||
@@ -1119,20 +1271,31 @@ components:
|
||||
- items
|
||||
MarketTypeStackAppraisalResponse:
|
||||
type: object
|
||||
description: A market type stack valued at current buy and sell prices.
|
||||
properties:
|
||||
marketTypeId:
|
||||
type: integer
|
||||
format: int64
|
||||
description: EVE market type (item) id.
|
||||
example: 34
|
||||
quantity:
|
||||
type: integer
|
||||
format: int64
|
||||
description: Number of units in the stack.
|
||||
example: 1000
|
||||
buy:
|
||||
type: number
|
||||
description: "Total buy value of the stack, in ISK."
|
||||
example: 5420.0
|
||||
sell:
|
||||
type: number
|
||||
description: "Total sell value of the stack, in ISK."
|
||||
example: 6100.0
|
||||
orderCount:
|
||||
type: integer
|
||||
format: int64
|
||||
description: Number of market orders considered for the valuation.
|
||||
example: 128
|
||||
required:
|
||||
- buy
|
||||
- marketTypeId
|
||||
@@ -1141,77 +1304,142 @@ components:
|
||||
- sell
|
||||
ReprocessingResultResponse:
|
||||
type: object
|
||||
description: "Result of reprocessing an item stack: the input stack and the\
|
||||
\ resulting material outputs, each valued at market prices."
|
||||
properties:
|
||||
input:
|
||||
$ref: "#/components/schemas/MarketTypeStackAppraisalResponse"
|
||||
description: The input stack that was reprocessed.
|
||||
output:
|
||||
type: array
|
||||
description: Material stacks yielded by reprocessing the input.
|
||||
items:
|
||||
$ref: "#/components/schemas/MarketTypeStackAppraisalResponse"
|
||||
required:
|
||||
- input
|
||||
- output
|
||||
RefreshResponse:
|
||||
type: object
|
||||
description: A freshly minted access token.
|
||||
properties:
|
||||
accessToken:
|
||||
type: string
|
||||
description: Short-lived bearer access token (JWT) for the Authorization
|
||||
header.
|
||||
required:
|
||||
- accessToken
|
||||
MarketTypeStackResponse:
|
||||
type: object
|
||||
description: A quantity of a single market type.
|
||||
properties:
|
||||
marketTypeId:
|
||||
type: integer
|
||||
format: int64
|
||||
description: EVE market type (item) id.
|
||||
example: 34
|
||||
quantity:
|
||||
type: integer
|
||||
format: int64
|
||||
description: Number of units in the stack.
|
||||
example: 1000
|
||||
required:
|
||||
- marketTypeId
|
||||
- quantity
|
||||
CreateMainLedgerRequest:
|
||||
type: object
|
||||
description: Request to create a new main ledger.
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
description: Name for the new ledger.
|
||||
example: Main wallet
|
||||
required:
|
||||
- name
|
||||
CreateCombinedLedgerRequest:
|
||||
type: object
|
||||
description: Request to create a new combined ledger aggregating the given member
|
||||
ledgers.
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
description: Name for the new combined ledger.
|
||||
example: All wallets
|
||||
memberLedgerIds:
|
||||
type: array
|
||||
description: Ids of the ledgers to aggregate.
|
||||
items:
|
||||
type: string
|
||||
format: uuid
|
||||
required:
|
||||
- memberLedgerIds
|
||||
- name
|
||||
MeResponse:
|
||||
type: object
|
||||
description: The authenticated user and the characters they own.
|
||||
properties:
|
||||
userId:
|
||||
type: string
|
||||
format: uuid
|
||||
description: Unique user identifier.
|
||||
example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
|
||||
characters:
|
||||
type: array
|
||||
description: Characters owned by the user.
|
||||
items:
|
||||
$ref: "#/components/schemas/CharacterResponse"
|
||||
required:
|
||||
- characters
|
||||
- userId
|
||||
MarketScanResponse:
|
||||
type: object
|
||||
description: "Result of a market scan combining current prices, history quartiles\
|
||||
\ and a computed profitability score for a market type."
|
||||
properties:
|
||||
marketTypeId:
|
||||
type: integer
|
||||
format: int64
|
||||
description: EVE market type (item) id.
|
||||
example: 34
|
||||
buy:
|
||||
type: number
|
||||
description: "Current best buy price, in ISK."
|
||||
example: 5.42
|
||||
sell:
|
||||
type: number
|
||||
description: "Current best sell price, in ISK."
|
||||
example: 6.1
|
||||
q1:
|
||||
type: number
|
||||
description: "First quartile (25th percentile) historical price, in ISK."
|
||||
example: 4.8
|
||||
median:
|
||||
type: number
|
||||
description: "Median (50th percentile) historical price, in ISK."
|
||||
example: 5.42
|
||||
q3:
|
||||
type: number
|
||||
description: "Third quartile (75th percentile) historical price, in ISK."
|
||||
example: 6.05
|
||||
totalVolume:
|
||||
type: integer
|
||||
format: int64
|
||||
description: Total traded volume over the scanned period.
|
||||
example: 15000000
|
||||
trend:
|
||||
type: string
|
||||
description: Overall price trend over the scanned period.
|
||||
enum:
|
||||
- UP
|
||||
- DOWN
|
||||
- FLAT
|
||||
profit:
|
||||
type: number
|
||||
description: "Estimated profit per unit after fees and taxes, in ISK."
|
||||
example: 0.45
|
||||
score:
|
||||
type: number
|
||||
description: Computed profitability score used to rank scan results.
|
||||
example: 0.82
|
||||
required:
|
||||
- buy
|
||||
- marketTypeId
|
||||
@@ -1225,25 +1453,40 @@ components:
|
||||
- trend
|
||||
MarketHistoryResponse:
|
||||
type: object
|
||||
description: A single day of market history for a market type.
|
||||
properties:
|
||||
marketTypeId:
|
||||
type: integer
|
||||
format: int64
|
||||
description: EVE market type (item) id.
|
||||
example: 34
|
||||
date:
|
||||
type: string
|
||||
format: date
|
||||
description: Date the history entry covers.
|
||||
example: 2026-06-22
|
||||
average:
|
||||
type: number
|
||||
description: "Average price for the day, in ISK."
|
||||
example: 5.42
|
||||
highest:
|
||||
type: number
|
||||
description: "Highest price for the day, in ISK."
|
||||
example: 6.1
|
||||
lowest:
|
||||
type: number
|
||||
description: "Lowest price for the day, in ISK."
|
||||
example: 4.8
|
||||
orderCount:
|
||||
type: integer
|
||||
format: int64
|
||||
description: Number of orders for the day.
|
||||
example: 320
|
||||
volume:
|
||||
type: integer
|
||||
format: int64
|
||||
description: Traded volume for the day.
|
||||
example: 12500000
|
||||
required:
|
||||
- average
|
||||
- date
|
||||
@@ -1254,21 +1497,33 @@ components:
|
||||
- volume
|
||||
HistoryQuartilesResponse:
|
||||
type: object
|
||||
description: Quartile statistics computed over a market type's price history.
|
||||
properties:
|
||||
marketTypeId:
|
||||
type: integer
|
||||
format: int64
|
||||
description: EVE market type (item) id.
|
||||
example: 34
|
||||
q1:
|
||||
type: number
|
||||
description: "First quartile (25th percentile) price, in ISK."
|
||||
example: 4.8
|
||||
median:
|
||||
type: number
|
||||
description: "Median (50th percentile) price, in ISK."
|
||||
example: 5.42
|
||||
q3:
|
||||
type: number
|
||||
description: "Third quartile (75th percentile) price, in ISK."
|
||||
example: 6.05
|
||||
totalVolume:
|
||||
type: integer
|
||||
format: int64
|
||||
description: Total traded volume over the period.
|
||||
example: 15000000
|
||||
trend:
|
||||
type: string
|
||||
description: Overall price trend over the period.
|
||||
enum:
|
||||
- UP
|
||||
- DOWN
|
||||
@@ -1282,33 +1537,58 @@ components:
|
||||
- trend
|
||||
MarketTypeResponse:
|
||||
type: object
|
||||
description: An EVE Online market type (item) and its static attributes.
|
||||
properties:
|
||||
id:
|
||||
type: integer
|
||||
format: int64
|
||||
description: EVE market type (item) id.
|
||||
example: 34
|
||||
name:
|
||||
type: string
|
||||
description: Item name.
|
||||
example: Tritanium
|
||||
groupId:
|
||||
type: integer
|
||||
format: int64
|
||||
description: Group id the item belongs to.
|
||||
example: 18
|
||||
marketGroupId:
|
||||
type: integer
|
||||
format: int64
|
||||
description: Market group id the item is listed under.
|
||||
example: 1857
|
||||
description:
|
||||
type: string
|
||||
description: Item description.
|
||||
example: The main building block in space structures.
|
||||
published:
|
||||
type: boolean
|
||||
description: Whether the item is published and visible in game.
|
||||
example: true
|
||||
basePrice:
|
||||
type: number
|
||||
type:
|
||||
- number
|
||||
- "null"
|
||||
description: "Base price of the item, in ISK, if defined."
|
||||
example: 2.99
|
||||
volume:
|
||||
type: number
|
||||
format: double
|
||||
description: "Packaged volume of a single unit, in m³."
|
||||
example: 0.01
|
||||
portionSize:
|
||||
type: integer
|
||||
format: int32
|
||||
description: Number of units produced or reprocessed per portion.
|
||||
example: 1
|
||||
iconId:
|
||||
type: integer
|
||||
type:
|
||||
- integer
|
||||
- "null"
|
||||
format: int64
|
||||
description: "Icon id for the item, if defined."
|
||||
example: 1
|
||||
required:
|
||||
- basePrice
|
||||
- description
|
||||
@@ -1322,23 +1602,34 @@ components:
|
||||
- volume
|
||||
MarketPriceResponse:
|
||||
type: object
|
||||
description: Current best buy and sell prices for a market type.
|
||||
properties:
|
||||
marketTypeId:
|
||||
type: integer
|
||||
format: int64
|
||||
description: EVE market type (item) id.
|
||||
example: 34
|
||||
buy:
|
||||
type: number
|
||||
description: "Best buy price, in ISK."
|
||||
example: 5.42
|
||||
sell:
|
||||
type: number
|
||||
description: "Best sell price, in ISK."
|
||||
example: 6.1
|
||||
orderCount:
|
||||
type: integer
|
||||
format: int64
|
||||
description: Number of market orders considered.
|
||||
example: 128
|
||||
required:
|
||||
- buy
|
||||
- marketTypeId
|
||||
- orderCount
|
||||
- sell
|
||||
LedgerResponse:
|
||||
description: "A ledger, either a standalone main ledger or a combined ledger\
|
||||
\ aggregating others."
|
||||
discriminator:
|
||||
propertyName: type
|
||||
mapping:
|
||||
@@ -1360,11 +1651,18 @@ components:
|
||||
fromLedgerId:
|
||||
type: string
|
||||
format: uuid
|
||||
description: Id of the ledger the ISK is debited from.
|
||||
example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
|
||||
toLedgerId:
|
||||
type: string
|
||||
format: uuid
|
||||
description: Id of the ledger the ISK is credited to.
|
||||
example: 5c1e6f2a-1234-4562-b3fc-2c963f66afa6
|
||||
amount:
|
||||
type: number
|
||||
description: Amount of ISK transferred.
|
||||
example: 1500000.0
|
||||
description: A transfer of ISK from one ledger to another.
|
||||
required:
|
||||
- amount
|
||||
- fromLedgerId
|
||||
@@ -1377,15 +1675,24 @@ components:
|
||||
fromLedgerId:
|
||||
type: string
|
||||
format: uuid
|
||||
description: Id of the ledger the items are debited from.
|
||||
example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
|
||||
toLedgerId:
|
||||
type: string
|
||||
format: uuid
|
||||
description: Id of the ledger the items are credited to.
|
||||
example: 5c1e6f2a-1234-4562-b3fc-2c963f66afa6
|
||||
marketTypeId:
|
||||
type: integer
|
||||
format: int64
|
||||
description: EVE market type (item) id transferred.
|
||||
example: 34
|
||||
quantity:
|
||||
type: integer
|
||||
format: int64
|
||||
description: Number of units transferred.
|
||||
example: 1000
|
||||
description: A transfer of an item stack from one ledger to another.
|
||||
required:
|
||||
- fromLedgerId
|
||||
- marketTypeId
|
||||
@@ -1393,20 +1700,32 @@ components:
|
||||
- toLedgerId
|
||||
TransactionResponse:
|
||||
type: object
|
||||
description: "A transaction: a dated, described group of transfers between ledgers."
|
||||
properties:
|
||||
transactionId:
|
||||
type: string
|
||||
format: uuid
|
||||
description: Unique transaction identifier.
|
||||
example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
|
||||
characterId:
|
||||
type: integer
|
||||
type:
|
||||
- integer
|
||||
- "null"
|
||||
format: int64
|
||||
description: "EVE character id the transaction is attributed to, if any."
|
||||
example: 2112625428
|
||||
datetime:
|
||||
type: string
|
||||
format: date-time
|
||||
description: When the transaction occurred.
|
||||
example: 2026-06-22T14:30:00
|
||||
description:
|
||||
type: string
|
||||
description: Human-readable description of the transaction.
|
||||
example: Market sale of Tritanium
|
||||
transfers:
|
||||
type: array
|
||||
description: The transfers that make up this transaction.
|
||||
items:
|
||||
$ref: "#/components/schemas/TransferResponse"
|
||||
required:
|
||||
@@ -1416,6 +1735,7 @@ components:
|
||||
- transactionId
|
||||
- transfers
|
||||
TransferResponse:
|
||||
description: "A transfer between two ledgers, either of ISK or of an item stack."
|
||||
discriminator:
|
||||
propertyName: type
|
||||
mapping:
|
||||
@@ -1431,11 +1751,16 @@ components:
|
||||
- type
|
||||
BalanceResponse:
|
||||
type: object
|
||||
description: "The balance of a ledger: its ISK total plus the quantity of each\
|
||||
\ item type held."
|
||||
properties:
|
||||
iskBalance:
|
||||
type: number
|
||||
description: ISK balance of the ledger.
|
||||
example: 1500000.0
|
||||
itemBalances:
|
||||
type: array
|
||||
description: Per-item-type quantities held in the ledger.
|
||||
items:
|
||||
$ref: "#/components/schemas/ItemBalanceResponse"
|
||||
required:
|
||||
@@ -1443,44 +1768,66 @@ components:
|
||||
- itemBalances
|
||||
ItemBalanceResponse:
|
||||
type: object
|
||||
description: Quantity of a single item type held in a ledger.
|
||||
properties:
|
||||
typeId:
|
||||
type: integer
|
||||
format: int64
|
||||
description: EVE market type (item) id.
|
||||
example: 34
|
||||
quantity:
|
||||
type: integer
|
||||
format: int64
|
||||
description: Number of units held.
|
||||
example: 1000
|
||||
required:
|
||||
- quantity
|
||||
- typeId
|
||||
AcquisitionResponse:
|
||||
type: object
|
||||
description: "A single acquisition of a market type, tracking the remaining\
|
||||
\ quantity available in the FIFO cost pool."
|
||||
properties:
|
||||
acquisitionId:
|
||||
type: string
|
||||
format: uuid
|
||||
description: Unique acquisition identifier.
|
||||
example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
|
||||
characterId:
|
||||
type: integer
|
||||
format: int64
|
||||
description: EVE character id that made the acquisition.
|
||||
example: 2112625428
|
||||
marketTypeId:
|
||||
type: integer
|
||||
format: int64
|
||||
description: EVE market type (item) id that was acquired.
|
||||
example: 34
|
||||
source:
|
||||
type: string
|
||||
description: How the item entered the inventory.
|
||||
enum:
|
||||
- BOUGHT
|
||||
- MANUAL
|
||||
datetime:
|
||||
type: string
|
||||
format: date-time
|
||||
description: When the acquisition occurred.
|
||||
example: 2026-06-22T14:30:00
|
||||
quantity:
|
||||
type: integer
|
||||
format: int64
|
||||
description: Quantity originally acquired.
|
||||
example: 1000
|
||||
remaining:
|
||||
type: integer
|
||||
format: int64
|
||||
description: Quantity still remaining in the FIFO cost pool.
|
||||
example: 250
|
||||
unitCost:
|
||||
type: number
|
||||
description: "Cost per unit at acquisition time, in ISK."
|
||||
example: 5.42
|
||||
required:
|
||||
- acquisitionId
|
||||
- characterId
|
||||
|
||||
Reference in New Issue
Block a user