1736 lines
50 KiB
YAML
1736 lines
50 KiB
YAML
openapi: 3.1.0
|
|
info:
|
|
title: OpenAPI definition
|
|
version: v0
|
|
servers:
|
|
- url: http://localhost:8080
|
|
description: Generated server url
|
|
paths:
|
|
/rule-book:
|
|
get:
|
|
tags:
|
|
- rule-book
|
|
summary: Find the caller's rule book
|
|
operationId: findRuleBook
|
|
responses:
|
|
"200":
|
|
description: The caller's rule book
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
$ref: "#/components/schemas/RuleBookResponse"
|
|
"404":
|
|
description: The caller has no rule book
|
|
put:
|
|
tags:
|
|
- rule-book
|
|
summary: Update the caller's rule book
|
|
operationId: updateRuleBook
|
|
requestBody:
|
|
description: New state of the caller's rule book
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/UpdateRuleBookRequest"
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: The updated rule book
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
$ref: "#/components/schemas/RuleBookResponse"
|
|
"400":
|
|
description: |-
|
|
Returned when:
|
|
- a binding references a ledger the caller does not own
|
|
- a binding references a ledger that is not a main ledger
|
|
/ledgers/main/{ledgerId}:
|
|
put:
|
|
tags:
|
|
- ledger
|
|
summary: Update a main ledger
|
|
operationId: updateMainLedger
|
|
parameters:
|
|
- name: ledgerId
|
|
in: path
|
|
description: Id of the main ledger
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: New state of the main ledger
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/UpdateMainLedgerRequest"
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: The updated main ledger
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
$ref: "#/components/schemas/MainLedgerResponse"
|
|
"400":
|
|
description: |-
|
|
Returned when:
|
|
- the ledger is not a main ledger
|
|
- the request is invalid
|
|
"404":
|
|
description: No ledger with this id
|
|
/ledgers/combined/{ledgerId}:
|
|
put:
|
|
tags:
|
|
- ledger
|
|
summary: Update a combined ledger
|
|
operationId: updateCombinedLedger
|
|
parameters:
|
|
- name: ledgerId
|
|
in: path
|
|
description: Id of the combined ledger
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: New state of the combined ledger
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/UpdateCombinedLedgerRequest"
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: The updated combined ledger
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
$ref: "#/components/schemas/CombinedLedgerResponse"
|
|
"400":
|
|
description: |-
|
|
Returned when:
|
|
- the ledger is not a combined ledger
|
|
- the request is invalid
|
|
"404":
|
|
description: No ledger with this id
|
|
/reprocessing:
|
|
post:
|
|
tags:
|
|
- reprocessing
|
|
summary: "Reprocess the given item stacks for a character, appraising the input\
|
|
\ and resulting materials"
|
|
operationId: reprocessItems
|
|
parameters:
|
|
- name: locationId
|
|
in: query
|
|
description: Location to derive reprocessing efficiency at; defaults to the
|
|
character's current location when omitted
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
requestBody:
|
|
description: Character and item stacks to reprocess
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ReprocessItemsRequest"
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: The reprocessing result for each input stack
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ReprocessingResultResponse"
|
|
/reprocessing/raw:
|
|
post:
|
|
tags:
|
|
- reprocessing
|
|
summary: "Reprocess a pasted EVE inventory listing for a character, resolving\
|
|
\ item names before appraising the input and resulting materials"
|
|
operationId: reprocessRawItems
|
|
parameters:
|
|
- name: characterId
|
|
in: query
|
|
description: Character to reprocess for
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
- name: locationId
|
|
in: query
|
|
description: Location to derive reprocessing efficiency at; defaults to the
|
|
character's current location when omitted
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
requestBody:
|
|
description: Raw tab-separated inventory listing copied from the EVE client
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: The reprocessing result for each resolved input stack
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
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:
|
|
- market
|
|
summary: "Parse a pasted EVE inventory listing into market type stacks, resolving\
|
|
\ names to type ids"
|
|
operationId: parseStacks
|
|
requestBody:
|
|
description: Raw tab-separated inventory listing copied from the EVE client
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: The resolved stacks; lines whose name does not match any type
|
|
are omitted and lines resolving to the same type are merged with their
|
|
quantities summed
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/MarketTypeStackResponse"
|
|
"400":
|
|
description: Returned when a line carries a quantity that is not a positive
|
|
whole number
|
|
/market/history/refresh:
|
|
post:
|
|
tags:
|
|
- market-history-admin-controller
|
|
operationId: refresh_1
|
|
responses:
|
|
"202":
|
|
description: Accepted
|
|
/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:
|
|
- ledger
|
|
summary: Create a main ledger
|
|
operationId: createMainLedger
|
|
requestBody:
|
|
description: Main ledger to create
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/CreateMainLedgerRequest"
|
|
required: true
|
|
responses:
|
|
"201":
|
|
description: The created main ledger
|
|
headers:
|
|
Location:
|
|
description: URL of the created main ledger
|
|
style: simple
|
|
schema:
|
|
type: string
|
|
format: uri
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
$ref: "#/components/schemas/MainLedgerResponse"
|
|
"400":
|
|
description: Invalid request (e.g. blank name)
|
|
/ledgers/combined:
|
|
post:
|
|
tags:
|
|
- ledger
|
|
summary: Create a combined ledger
|
|
operationId: createCombinedLedger
|
|
requestBody:
|
|
description: Combined ledger to create
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/CreateCombinedLedgerRequest"
|
|
required: true
|
|
responses:
|
|
"201":
|
|
description: The created combined ledger
|
|
headers:
|
|
Location:
|
|
description: URL of the created combined ledger
|
|
style: simple
|
|
schema:
|
|
type: string
|
|
format: uri
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
$ref: "#/components/schemas/CombinedLedgerResponse"
|
|
"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:
|
|
- activity
|
|
summary: Fetch new activities for the authenticated user's characters from the
|
|
EVE API
|
|
operationId: fetchAllNewActivities
|
|
responses:
|
|
"200":
|
|
description: New activities fetched and stored
|
|
/activity/fetch/{characterId}:
|
|
post:
|
|
tags:
|
|
- activity
|
|
summary: Fetch new activities for a character from the EVE API
|
|
operationId: fetchNewActivitiesForCharacter
|
|
parameters:
|
|
- name: characterId
|
|
in: path
|
|
description: Id of the character
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"200":
|
|
description: New activities fetched and stored
|
|
"400":
|
|
description: No character with this id
|
|
/activities/process:
|
|
post:
|
|
tags:
|
|
- activity
|
|
summary: Process new activities for the authenticated user's characters
|
|
operationId: processNewActivities
|
|
responses:
|
|
"200":
|
|
description: New activities processed
|
|
/rule-scripts/definitions:
|
|
get:
|
|
tags:
|
|
- rule-script
|
|
summary: Download the TypeScript definitions for the rule script runtime
|
|
operationId: getScriptDefinitions
|
|
responses:
|
|
"200":
|
|
description: The rule-runner.d.ts type definitions
|
|
content:
|
|
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:
|
|
- market
|
|
summary: "Scan a single market type, returning its volume-weighted price quartiles\
|
|
\ and recent price trend"
|
|
operationId: scanMarketType
|
|
parameters:
|
|
- name: marketTypeId
|
|
in: path
|
|
description: The market type id to scan
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
- name: days
|
|
in: query
|
|
description: Number of most recent days of history to analyse
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
default: 365
|
|
minimum: 1
|
|
- name: brokerFee
|
|
in: query
|
|
description: "Broker fee as a fraction (e.g. 0.015 for 1.5%), paid on both\
|
|
\ buy and sell orders"
|
|
required: false
|
|
schema:
|
|
type: number
|
|
default: 0.015
|
|
maximum: 1
|
|
minimum: 0
|
|
- name: salesTax
|
|
in: query
|
|
description: "Sales tax as a fraction (e.g. 0.03375 for 3.375%), paid on sell\
|
|
\ orders"
|
|
required: false
|
|
schema:
|
|
type: number
|
|
default: 0.03375
|
|
maximum: 1
|
|
minimum: 0
|
|
responses:
|
|
"200":
|
|
description: The scan result for the requested market type
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
$ref: "#/components/schemas/MarketScanResponse"
|
|
"400":
|
|
description: The days parameter is not greater than 0
|
|
/market/{marketTypeId}/history:
|
|
get:
|
|
tags:
|
|
- market
|
|
summary: "Find the market history of a type, most recent first"
|
|
operationId: findHistory
|
|
parameters:
|
|
- name: marketTypeId
|
|
in: path
|
|
description: Id of the market type
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
- name: days
|
|
in: query
|
|
description: Optional number of most recent days to return; omit for the full
|
|
history
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
minimum: 1
|
|
responses:
|
|
"200":
|
|
description: The market history of the type
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/MarketHistoryResponse"
|
|
"400":
|
|
description: The days parameter is not greater than 0
|
|
/market/{marketTypeId}/history/quartiles:
|
|
get:
|
|
tags:
|
|
- market
|
|
summary: Compute volume-weighted price quartiles and the recent price trend
|
|
from a type's market history
|
|
operationId: findQuartiles
|
|
parameters:
|
|
- name: marketTypeId
|
|
in: path
|
|
description: Id of the market type
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
- name: days
|
|
in: query
|
|
description: Optional number of most recent days to analyze; omit for the
|
|
full history
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
minimum: 1
|
|
responses:
|
|
"200":
|
|
description: The price quartiles of the type
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
$ref: "#/components/schemas/HistoryQuartilesResponse"
|
|
"400":
|
|
description: The days parameter is not greater than 0
|
|
/market/types:
|
|
get:
|
|
tags:
|
|
- market
|
|
summary: Return the static market type details for each requested type id
|
|
operationId: findTypes
|
|
parameters:
|
|
- name: ids
|
|
in: query
|
|
description: "Market type ids to look up, e.g. ids=34,35"
|
|
required: true
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"200":
|
|
description: The market types found for the requested ids; unknown ids are
|
|
omitted
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/MarketTypeResponse"
|
|
"400":
|
|
description: |-
|
|
Returned when:
|
|
- the ids parameter is missing
|
|
- an ids value is not a numeric id
|
|
/market/types/search:
|
|
get:
|
|
tags:
|
|
- market
|
|
summary: "Search marketable types whose name contains the given text, case-insensitively"
|
|
operationId: searchTypes
|
|
parameters:
|
|
- name: name
|
|
in: query
|
|
description: "Text to match against the type name, e.g. name=tritan"
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: limit
|
|
in: query
|
|
description: "Maximum number of results to return, defaults to 50"
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
default: 50
|
|
responses:
|
|
"200":
|
|
description: "The marketable types matching the search, ordered by name\
|
|
\ and capped at the requested limit"
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/MarketTypeResponse"
|
|
"400":
|
|
description: |-
|
|
Returned when:
|
|
- the name parameter is missing
|
|
- the limit value is not a number
|
|
/market/scan:
|
|
get:
|
|
tags:
|
|
- market
|
|
summary: "Scan every tracked market type, returning volume-weighted price quartiles\
|
|
\ and the recent price trend for each"
|
|
operationId: scanMarket
|
|
parameters:
|
|
- name: days
|
|
in: query
|
|
description: Number of most recent days of history to analyse
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
default: 365
|
|
minimum: 1
|
|
- name: brokerFee
|
|
in: query
|
|
description: "Broker fee as a fraction (e.g. 0.015 for 1.5%), paid on both\
|
|
\ buy and sell orders"
|
|
required: false
|
|
schema:
|
|
type: number
|
|
default: 0.015
|
|
maximum: 1
|
|
minimum: 0
|
|
- name: salesTax
|
|
in: query
|
|
description: "Sales tax as a fraction (e.g. 0.03375 for 3.375%), paid on sell\
|
|
\ orders"
|
|
required: false
|
|
schema:
|
|
type: number
|
|
default: 0.03375
|
|
maximum: 1
|
|
minimum: 0
|
|
responses:
|
|
"200":
|
|
description: "The scan results, one entry per tracked market type"
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/MarketScanResponse"
|
|
"400":
|
|
description: The days parameter is not greater than 0
|
|
/market/prices:
|
|
get:
|
|
tags:
|
|
- market
|
|
summary: "Return the current Jita order book (highest buy, lowest sell, order\
|
|
\ count) for each requested market type"
|
|
operationId: currentPrices
|
|
parameters:
|
|
- name: types
|
|
in: query
|
|
description: "Market type ids to price, e.g. types=34,35"
|
|
required: true
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
"200":
|
|
description: "The order book for each requested type, one entry per type"
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/MarketPriceResponse"
|
|
"400":
|
|
description: |-
|
|
Returned when:
|
|
- the types parameter is missing
|
|
- a types value is not a numeric id
|
|
/market/orders:
|
|
get:
|
|
tags:
|
|
- market
|
|
summary: List the open market orders across all characters owned by the authenticated
|
|
user
|
|
operationId: findAllMarketOrders
|
|
responses:
|
|
"200":
|
|
description: The authenticated user's open market orders
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/MarketOrderResponse"
|
|
/market/history/quartiles:
|
|
get:
|
|
tags:
|
|
- market
|
|
summary: Compute volume-weighted price quartiles and the recent price trend
|
|
for each requested market type
|
|
operationId: findAllQuartiles
|
|
parameters:
|
|
- name: types
|
|
in: query
|
|
description: "Market type ids to analyze, e.g. types=34,35"
|
|
required: true
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
format: int64
|
|
- name: days
|
|
in: query
|
|
description: Optional number of most recent days to analyze; omit for the
|
|
full history
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
minimum: 1
|
|
responses:
|
|
"200":
|
|
description: "The price quartiles for each requested type, one entry per\
|
|
\ type"
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/HistoryQuartilesResponse"
|
|
"400":
|
|
description: |-
|
|
Returned when:
|
|
- the types parameter is missing
|
|
- a types value is not a numeric id
|
|
- the days parameter is not greater than 0
|
|
/ledgers:
|
|
get:
|
|
tags:
|
|
- ledger
|
|
summary: Find all ledgers owned by the authenticated user
|
|
operationId: findAllLedgers
|
|
responses:
|
|
"200":
|
|
description: The authenticated user's ledgers
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/LedgerResponse"
|
|
/ledgers/{ledgerId}:
|
|
get:
|
|
tags:
|
|
- ledger
|
|
summary: Find a ledger by its id
|
|
operationId: findLedgerById
|
|
parameters:
|
|
- name: ledgerId
|
|
in: path
|
|
description: Id of the ledger
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: The ledger
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
$ref: "#/components/schemas/LedgerResponse"
|
|
"400":
|
|
description: The ledger cannot be exposed (system ledger)
|
|
"404":
|
|
description: No ledger with this id
|
|
/ledgers/{ledgerId}/transactions:
|
|
get:
|
|
tags:
|
|
- transaction
|
|
summary: Find all transactions in a ledger
|
|
operationId: finAllTransactionsInLedger
|
|
parameters:
|
|
- name: ledgerId
|
|
in: path
|
|
description: Id of the ledger
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: All transactions in the ledger
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TransactionResponse"
|
|
"404":
|
|
description: No ledger with this id
|
|
/ledgers/{ledgerId}/balance:
|
|
get:
|
|
tags:
|
|
- ledger
|
|
summary: Find the balance of a ledger
|
|
operationId: findBalanceByLedgerId
|
|
parameters:
|
|
- name: ledgerId
|
|
in: path
|
|
description: Id of the ledger
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: The balance of the ledger
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
$ref: "#/components/schemas/BalanceResponse"
|
|
"404":
|
|
description: No ledger with this id
|
|
/characters:
|
|
get:
|
|
tags:
|
|
- character
|
|
summary: Find the characters owned by the authenticated user
|
|
operationId: findAllCharacters
|
|
responses:
|
|
"200":
|
|
description: The authenticated user's characters
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/CharacterResponse"
|
|
/acquisitions:
|
|
get:
|
|
tags:
|
|
- acquisition
|
|
summary: "Find the caller's acquisitions, optionally filtered by ledger, market\
|
|
\ type and consumption state"
|
|
operationId: findAllAcquisitions
|
|
parameters:
|
|
- name: ledgerId
|
|
in: query
|
|
description: Only return acquisitions held in this ledger
|
|
required: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: marketTypeId
|
|
in: query
|
|
description: Only return acquisitions of this market type
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
- name: includeConsumed
|
|
in: query
|
|
description: Include fully consumed acquisitions (no remaining stock)
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
responses:
|
|
"200":
|
|
description: The matching acquisitions
|
|
content:
|
|
'*/*':
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/AcquisitionResponse"
|
|
components:
|
|
schemas:
|
|
UpdateRuleBookRequest:
|
|
type: object
|
|
description: Request to update the caller's rule book; replaces its mutable
|
|
fields.
|
|
properties:
|
|
bindings:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
format: uuid
|
|
description: "Ledger references the script writes to, each bound to one\
|
|
\ of the user's ledgers."
|
|
script:
|
|
type: string
|
|
description: The classification script source.
|
|
example: transfer.to('sales')
|
|
required:
|
|
- bindings
|
|
- script
|
|
RuleBookResponse:
|
|
type: object
|
|
description: "The caller's rule book: a script that classifies transactions,\
|
|
\ together with its ledger bindings."
|
|
properties:
|
|
userId:
|
|
type: string
|
|
format: uuid
|
|
description: Owning user identifier.
|
|
example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
|
|
bindings:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
format: uuid
|
|
description: "Ledger references the script writes to, each bound to one\
|
|
\ of the user's ledgers."
|
|
script:
|
|
type: string
|
|
description: The classification script source.
|
|
example: transfer.to('sales')
|
|
required:
|
|
- bindings
|
|
- script
|
|
- userId
|
|
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:
|
|
allOf:
|
|
- $ref: "#/components/schemas/LedgerResponse"
|
|
- type: object
|
|
properties:
|
|
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
|
|
required:
|
|
- memberLedgerIds
|
|
- name
|
|
CombinedLedgerResponse:
|
|
allOf:
|
|
- $ref: "#/components/schemas/LedgerResponse"
|
|
- type: object
|
|
properties:
|
|
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
|
|
- memberLedgerIds
|
|
- name
|
|
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:
|
|
- characterId
|
|
- 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
|
|
- orderCount
|
|
- quantity
|
|
- 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
|
|
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
|
|
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
|
|
- median
|
|
- profit
|
|
- q1
|
|
- q3
|
|
- score
|
|
- sell
|
|
- totalVolume
|
|
- 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
|
|
- highest
|
|
- lowest
|
|
- marketTypeId
|
|
- orderCount
|
|
- 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
|
|
- FLAT
|
|
required:
|
|
- marketTypeId
|
|
- median
|
|
- q1
|
|
- q3
|
|
- totalVolume
|
|
- 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
|
|
- "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
|
|
- "null"
|
|
format: int64
|
|
description: "Icon id for the item, if defined."
|
|
example: 1
|
|
required:
|
|
- basePrice
|
|
- description
|
|
- groupId
|
|
- iconId
|
|
- id
|
|
- marketGroupId
|
|
- name
|
|
- portionSize
|
|
- published
|
|
- 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
|
|
MarketOrderResponse:
|
|
type: object
|
|
description: An open market order placed by one of the authenticated user's
|
|
characters.
|
|
properties:
|
|
orderId:
|
|
type: integer
|
|
format: int64
|
|
description: EVE market order id.
|
|
example: 5266893063
|
|
characterId:
|
|
type: integer
|
|
format: int64
|
|
description: EVE character id that owns the order.
|
|
example: 2112625428
|
|
characterName:
|
|
type: string
|
|
description: Name of the character that owns the order.
|
|
example: CCP Falcon
|
|
marketTypeId:
|
|
type: integer
|
|
format: int64
|
|
description: EVE market type (item) id being traded.
|
|
example: 34
|
|
locationId:
|
|
type: integer
|
|
format: int64
|
|
description: Location id (station or structure) the order is placed at.
|
|
example: 60003760
|
|
regionId:
|
|
type: integer
|
|
format: int64
|
|
description: Region id the order resides in.
|
|
example: 10000002
|
|
direction:
|
|
type: string
|
|
description: Trade direction of the order.
|
|
enum:
|
|
- BUY
|
|
- SELL
|
|
example: SELL
|
|
price:
|
|
type: number
|
|
description: "Price per unit, in ISK."
|
|
example: 5.42
|
|
volumeTotal:
|
|
type: integer
|
|
format: int64
|
|
description: Total volume the order was created with.
|
|
example: 1000000
|
|
volumeRemain:
|
|
type: integer
|
|
format: int64
|
|
description: Volume still remaining on the order.
|
|
example: 750000
|
|
minVolume:
|
|
type: integer
|
|
format: int32
|
|
description: Minimum volume that must be bought or sold in a single transaction.
|
|
example: 1
|
|
range:
|
|
type: string
|
|
description: "Order range. For buy orders the matching range, for sell orders\
|
|
\ always 'region'."
|
|
example: region
|
|
duration:
|
|
type: integer
|
|
format: int32
|
|
description: "Duration of the order, in days."
|
|
example: 90
|
|
issued:
|
|
type: string
|
|
format: date-time
|
|
description: When the order was issued.
|
|
example: 2026-06-22T05:12:25Z
|
|
escrow:
|
|
type: number
|
|
description: ISK held in escrow for a buy order; null for sell orders.
|
|
example: 4065000.0
|
|
required:
|
|
- characterId
|
|
- characterName
|
|
- direction
|
|
- duration
|
|
- escrow
|
|
- issued
|
|
- locationId
|
|
- marketTypeId
|
|
- minVolume
|
|
- orderId
|
|
- price
|
|
- range
|
|
- regionId
|
|
- volumeRemain
|
|
- volumeTotal
|
|
LedgerResponse:
|
|
description: "A ledger, either a standalone main ledger or a combined ledger\
|
|
\ aggregating others."
|
|
discriminator:
|
|
propertyName: type
|
|
mapping:
|
|
MAIN: "#/components/schemas/MainLedgerResponse"
|
|
COMBINED: "#/components/schemas/CombinedLedgerResponse"
|
|
oneOf:
|
|
- $ref: "#/components/schemas/MainLedgerResponse"
|
|
- $ref: "#/components/schemas/CombinedLedgerResponse"
|
|
properties:
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
ActivitySourceResponse:
|
|
type: object
|
|
description: "Where an activity or transaction came from: a character, a corporation\
|
|
\ wallet, or nothing (a manual entry)."
|
|
properties:
|
|
type:
|
|
type: string
|
|
description: The kind of source.
|
|
enum:
|
|
- CHARACTER
|
|
- CORPORATION
|
|
- NONE
|
|
example: CHARACTER
|
|
characterId:
|
|
type:
|
|
- integer
|
|
- "null"
|
|
format: int64
|
|
description: "EVE character id, when the source is a character."
|
|
example: 2112625428
|
|
corporationId:
|
|
type:
|
|
- integer
|
|
- "null"
|
|
format: int64
|
|
description: "EVE corporation id, when the source is a corporation."
|
|
example: 98000001
|
|
division:
|
|
type:
|
|
- integer
|
|
- "null"
|
|
format: int32
|
|
description: "Corporation wallet division (1-7), when the source is a corporation\
|
|
\ and it is known."
|
|
example: 4
|
|
required:
|
|
- characterId
|
|
- corporationId
|
|
- division
|
|
- type
|
|
IskTransferResponse:
|
|
allOf:
|
|
- $ref: "#/components/schemas/TransferResponse"
|
|
- type: object
|
|
properties:
|
|
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
|
|
- toLedgerId
|
|
ItemTransferResponse:
|
|
allOf:
|
|
- $ref: "#/components/schemas/TransferResponse"
|
|
- type: object
|
|
properties:
|
|
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
|
|
- quantity
|
|
- 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
|
|
source:
|
|
$ref: "#/components/schemas/ActivitySourceResponse"
|
|
description: "Where the transaction is attributed: a character, a corporation,\
|
|
\ or nothing."
|
|
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:
|
|
- datetime
|
|
- description
|
|
- source
|
|
- transactionId
|
|
- transfers
|
|
TransferResponse:
|
|
description: "A transfer between two ledgers, either of ISK or of an item stack."
|
|
discriminator:
|
|
propertyName: type
|
|
mapping:
|
|
ISK: "#/components/schemas/IskTransferResponse"
|
|
ITEM: "#/components/schemas/ItemTransferResponse"
|
|
oneOf:
|
|
- $ref: "#/components/schemas/IskTransferResponse"
|
|
- $ref: "#/components/schemas/ItemTransferResponse"
|
|
properties:
|
|
type:
|
|
type: string
|
|
required:
|
|
- 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:
|
|
- iskBalance
|
|
- 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
|
|
ledgerId:
|
|
type: string
|
|
format: uuid
|
|
description: Ledger the acquisition is held in.
|
|
example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
|
|
source:
|
|
$ref: "#/components/schemas/ActivitySourceResponse"
|
|
description: "Where the acquisition came from: a character, a corporation,\
|
|
\ or nothing."
|
|
marketTypeId:
|
|
type: integer
|
|
format: int64
|
|
description: EVE market type (item) id that was acquired.
|
|
example: 34
|
|
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
|
|
- datetime
|
|
- ledgerId
|
|
- marketTypeId
|
|
- quantity
|
|
- remaining
|
|
- source
|
|
- unitCost
|