api-docs/reference/SpaceTraders.yaml
2022-03-14 17:35:39 -07:00

2211 lines
75 KiB
YAML

openapi: 3.1.0
info:
title: SpaceTraders API
version: 2.0.0-alpha
summary: SpaceTraders is a unique multiplayer game built on a free Web API.
contact:
name: Joel Brubaker
email: joel@spacetraders.io
license:
name: 'No'
url: 'https://choosealicense.com/no-permission/'
description: |-
SpaceTraders is a multiplayer sci-fi strategy game where you acquire and manage a fleet of ships across a growing and dynamic universe.
Similar to games such as Eve Online, you work with or against other players to establish trade routes, chart new systems, mine precious ores, patrol for pirates, spy on factions, and discover hidden treasures.
But what makes our game unique? SpaceTraders is entirely accessible through open and well-documented Web API endpoints. In fact, SpaceTraders doesn't have a first-class client to play the game - if you want to take it for a spin, you should try one of our community-created web clients, or use the API documentation to see how you might play a game through an API.
If this sounds fun and interesting to you, please drop into our Discord and get to know the community. We are actively working on new clients, new ideas and sharing tips for how to play the game.
```json http
{
"method": "GET",
"url": "https://v2-0-0.alpha.spacetraders.io",
}
```
servers:
- url: 'https://v2-0-0.alpha.spacetraders.io'
description: v2.0.0-alpha
paths:
/agents:
post:
summary: Register New Agent
tags:
- agents
responses:
'201':
description: OK
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
token:
type: string
agent:
$ref: ../models/Agent.yaml
faction:
$ref: ../models/Faction.yaml
contract:
$ref: ../models/Contract.yaml
ship:
$ref: ../models/Ship.yaml
examples:
Success:
value:
data:
token: string
agent:
accountId: cl0hok34m0003ks0jjql5q8f2
symbol: EMBER
headquarters: X1-OE-PM
credits: 0
faction:
symbol: COMMERCE_REPUBLIC
name: Commerce Repubic
description: The Commerce Republic takes capital from top tier worlds and invests it into new systems with high potential for growth.
headquarters: X1-OE-PM
traits:
- BUREAUCRATIC
- CAPITALISTIC
- GUILD
- ESTABLISHED
contract:
id: cl0hok38t0014ks0jnoy8o5vh
faction: COMMERCE_REPUBLIC
type: PROCUREMENT
terms:
deadline: '2022-03-11T05:16:59.113Z'
payment:
onAccepted: 20000
onFulfilled: 100000
deliver:
- tradeSymbol: IRON_ORE
destination: X1-OE-PM
units: 10000
fulfilled: 0
accepted: false
fulfilled: false
expiresAt: '2022-03-09T05:16:59.112Z'
ship:
symbol: string
frame: string
reactor: string
engine: string
fuel: 0
modules:
- string
mounts:
- string
registration:
factionSymbol: string
agentSymbol: string
fee: 0
role: string
integrity:
frame: 0
reactor: 0
engine: 0
status: string
location: string
cargo:
- tradeSymbol: string
units: 0
operationId: post-agents
description: |-
Creates a new agent and ties it to a temporary Account. Use `COMMERCE_REPUBLIC` as your starting faction if you don't know any other factions to choose from.
The agent symbol is a 4-8 character string that will represent your agent. This symbol will prefix the symbol of every ship you own. Agent symbols will be cast to all uppercase characters.
A new agent will be granted an authorization token, a contract with their starting faction, a command ship with a jump drive, and one hundred thousand credits.
> #### Keep your token safe and secure
>
> Save your token during the alpha phase. There is no way to regenerate this token without starting a new agent. In the future you will be able to generate and manage your tokens from the SpaceTraders website.
You can accept your contract using the `/my/contracts/{contractId}/accept` endpoint. You will want to navigate your command ship to a nearby asteroid field waypoint, and execute the `/my/ships/{shipSymbol}/accept` endpoint to mine various types of ores and minerals.
Return to the contract destination and execute the `/my/ships/{shipSymbol}/deliver` endpoint to deposit goods into the contract.
When your contract is fulfilled, you can call `/my/contracts/{contractId}/fulfill` to retrieve payment.
requestBody:
content:
application/json:
schema:
type: object
properties:
symbol:
type: string
description: How other agents will see your ships and information.
minLength: 4
maxLength: 8
example: BADGER
faction:
type: string
default: COMMERCE_REPUBLIC
description: The faction you choose determines your headquarters.
description: ''
/my/agent:
get:
summary: My Agent Details
tags:
- agents
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
data:
$ref: ../models/Agent.yaml
examples:
Agent:
value:
data:
accountId: cl0hok34m0003ks0jjql5q8f2
symbol: EMBER
headquarters: X1-OE-PM
credits: 0
operationId: get-my-agent
security:
- AgentToken: []
description: Fetch your agent's details.
'/my/ships/{shipSymbol}/chart':
post:
summary: Chart Waypoint
tags:
- navigation
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
submitted:
type: array
items:
type: string
examples:
Success:
value:
data:
submitted:
- X1-ZZ
- X1-ZZ-7-EE
operationId: 'post-my-ships-:shipSymbol-chart'
description: 'Chart a new system or waypoint. Returns an array of the symbols that have been charted, including the system and the waypoint if both were uncharted, or just the waypoint.'
security:
- AgentToken: []
parameters:
- schema:
type: string
name: shipSymbol
in: path
required: true
description: The symbol of the ship
'/my/ships/{shipSymbol}/deliver':
parameters:
- schema:
type: string
name: shipSymbol
in: path
required: true
description: The symbol of the ship
post:
summary: Deliver on Contract
tags:
- contracts
responses:
'201':
description: Created
content:
application/json:
schema:
description: ''
type: object
x-examples:
example-1:
data:
tradeSymbol: IRON_ORE
destination: X1-OE-PM
units: 10000
fulfilled: -30000
properties:
data:
$ref: ../models/ContractDelivery.yaml
required:
- data
operationId: post-my-ships-shipSymbol-deliver
security:
- AgentToken: []
requestBody:
content:
application/json:
schema:
type: object
properties:
contractId:
type: string
tradeSymbol:
type: string
units:
type: number
required:
- contractId
- tradeSymbol
description: Deliver cargo on a given contract.
'/my/ships/{shipSymbol}/dock':
parameters:
- schema:
type: string
name: shipSymbol
in: path
required: true
description: The symbol of the ship
post:
summary: Dock Ship
tags:
- navigation
responses:
'201':
description: Created
content:
application/json:
schema:
description: ''
type: object
properties:
data:
type: object
properties:
status:
type: string
required:
- status
required:
- data
x-examples:
example-1:
data:
status: DOCKED
examples:
Success:
value:
data:
status: DOCKED
operationId: post-my-ships-shipSymbol-dock
security:
- AgentToken: []
description: Transition your ship from orbit to docked. Consecutive calls to this endpoint will succeed.
'/my/ships/{shipSymbol}/orbit':
parameters:
- schema:
type: string
name: shipSymbol
in: path
required: true
description: The symbol of the ship
post:
summary: Orbit Ship
responses:
'201':
description: Created
content:
application/json:
schema:
description: ''
type: object
x-examples:
example-1:
data:
status: ORBIT
properties:
data:
type: object
properties:
status:
type: string
required:
- data
examples:
Success:
value:
data:
status: ORBIT
operationId: post-my-ships-shipSymbol-orbit
security:
- AgentToken: []
description: Transition your ship from docked into orbit. Ships are placed into orbit by default when arriving at a destination. Consecutive calls to this endpoint will continue to return a 200 response status.
tags:
- navigation
'/my/ships/{shipSymbol}/jettison':
parameters:
- schema:
type: string
name: shipSymbol
in: path
required: true
post:
summary: Jettison Cargo
tags:
- ships
responses:
'201':
description: Created
content:
application/json:
schema:
description: ''
type: object
properties:
data:
type: object
properties:
tradeSymbol:
type: string
minLength: 1
units:
type: number
required:
- tradeSymbol
- units
required:
- data
x-examples:
example-1:
data:
tradeSymbol: ALUMINUM
units: 95
examples:
Success:
value:
data:
tradeSymbol: ALUMINUM
units: 95
operationId: post-my-ships-shipSymbol-jettison
description: Jettison cargo from your ship's cargo hold.
security:
- AgentToken: []
requestBody:
content:
application/json:
schema:
type: object
properties:
tradeSymbol:
type: string
units:
type: number
minimum: 1
'/my/ships/{shipSymbol}/extract':
parameters:
- schema:
type: string
name: shipSymbol
in: path
required: true
description: The ship symbol
post:
summary: Extract Resources
responses:
'201':
description: Created
content:
application/json:
schema:
description: ''
type: object
x-examples:
example-1:
data:
extraction:
shipSymbol: 4B902A-1
yield:
tradeSymbol: SILICON
units: 16
cooldown:
duration: 119
expiration: '2022-03-12T00:41:29.371Z'
properties:
data:
type: object
required:
- extraction
- cooldown
properties:
extraction:
$ref: ../models/Extraction.yaml
cooldown:
$ref: ../models/Cooldown.yaml
required:
- data
examples:
Success:
value:
data:
extraction:
shipSymbol: 4B902A-1
yield:
tradeSymbol: SILICON
units: 16
cooldown:
duration: 119
expiration: '2022-03-12T00:41:29.371Z'
operationId: post-my-ships-shipSymbol-extract
requestBody:
content:
application/json:
schema:
type:
- object
- 'null'
properties:
survey:
$ref: ../models/Survey.yaml
examples:
No Survey:
value: {}
With Survey:
value:
survey:
signature: X1-OE-D2DD38
deposits:
- COPPER_ORE
expiration: '2022-03-08T05:41:55.514Z'
description: ''
description: Extract resources from the waypoint into your ship. Send a survey as the payload to target specific yields. The entire survey must be sent as it contains a signature that the backend verifies.
security:
- AgentToken: []
tags:
- extract
get:
summary: Extraction Cooldown
operationId: get-my-ships-shipSymbol-extract
responses:
'200':
description: OK
content:
application/json:
schema:
description: ''
type: object
x-examples:
example-1:
data:
cooldown:
duration: 119
expiration: '2022-03-12T00:41:29.285Z'
properties:
data:
type: object
required:
- cooldown
properties:
cooldown:
$ref: ../models/Cooldown.yaml
required:
- data
examples:
Success:
value:
data:
cooldown:
duration: 119
expiration: '2022-03-12T00:41:29.285Z'
description: Get the status of your last extraction.
security:
- AgentToken: []
tags:
- extract
'/my/ships/{shipSymbol}/survey':
parameters:
- schema:
type: string
name: shipSymbol
in: path
required: true
post:
summary: Survey Waypoint
responses:
'201':
description: Created
content:
application/json:
schema:
description: ''
type: object
x-examples:
example-1:
data:
- signature: X1-OE-D2DD38
deposits:
- COPPER_ORE
expiration: '2022-03-08T05:41:55.514Z'
- signature: X1-OE-B58FEB
deposits:
- ALUMINUM_ORE
- ALUMINUM_ORE
- ALUMINUM_ORE
expiration: '2022-03-08T05:39:15.519Z'
- signature: X1-OE-0E326C
deposits:
- ALUMINUM_ORE
- SILICON
expiration: '2022-03-08T05:20:27.521Z'
- signature: X1-OE-5CDFA4
deposits:
- COPPER_ORE
- COPPER_ORE
- COPPER_ORE
- IRON_ORE
expiration: '2022-03-08T05:44:34.522Z'
- signature: X1-OE-86C3A1
deposits:
- COPPER_ORE
- COPPER_ORE
- IRON_ORE
expiration: '2022-03-08T05:43:45.522Z'
- signature: X1-OE-C97BEA
deposits:
- ALUMINUM_ORE
- COPPER_ORE
- QUARTZ
- QUARTZ
expiration: '2022-03-08T05:22:39.523Z'
- signature: X1-OE-9913BD
deposits:
- QUARTZ
expiration: '2022-03-08T05:37:45.523Z'
- signature: X1-OE-8D87D2
deposits:
- COPPER_ORE
- SILICON
expiration: '2022-03-08T05:32:57.524Z'
properties:
data:
type: object
properties:
surveys:
type: array
items:
$ref: ../models/Survey.yaml
cooldown:
$ref: ../models/Cooldown.yaml
required:
- data
examples:
Success:
value:
data:
cooldown:
duration: 899
expiration: '2022-03-12T02:11:35.618Z'
surveys:
- signature: X1-OE-397C82
deposits:
- SILICON
expiration: '2022-03-12T02:00:19.622Z'
- signature: X1-OE-4413F6
deposits:
- ALUMINUM_ORE
- ALUMINUM_ORE
- COPPER_ORE
- IRON_ORE
expiration: '2022-03-12T02:20:08.625Z'
- signature: X1-OE-E6480F
deposits:
- ALUMINUM_ORE
- IRON_ORE
- QUARTZ
- SILICON
expiration: '2022-03-12T02:18:00.626Z'
- signature: X1-OE-660BE9
deposits:
- ALUMINUM_ORE
expiration: '2022-03-12T02:20:45.626Z'
- signature: X1-OE-D64798
deposits:
- COPPER_ORE
- QUARTZ
- SILICON
expiration: '2022-03-12T02:07:33.626Z'
- signature: X1-OE-F799F3
deposits:
- IRON_ORE
expiration: '2022-03-12T02:23:16.627Z'
operationId: post-my-ships-shipSymbol-survey
security:
- AgentToken: []
description: |-
If you want to target specific yields for an extraction, you can survey a waypoint, such as an asteroid field, and send the survey in the body of the extract request. Each survey may have multiple deposits, and if a symbol shows up more than once, that indicates a higher chance of extracting that resource.
Your ship will enter a cooldown between consecutive survey requests. Surveys will eventually expire after a period of time. Multiple ships can use the same survey for extraction.
tags:
- extract
get:
summary: Survey Cooldown
tags:
- extract
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
cooldown:
$ref: ../models/Cooldown.yaml
examples:
Success:
value:
data:
cooldown:
duration: 899
expiration: '2022-03-12T02:11:35.618Z'
operationId: get-my-ships-shipSymbol-survey
description: 'Executing a survey will initiate a cooldown for a number of seconds before you can call it again. This endpoint returns the details of your cooldown, or a 404 if there is no cooldown for the survey action.'
'/my/ships/{shipSymbol}/jump':
parameters:
- schema:
type: string
name: shipSymbol
in: path
required: true
post:
summary: Jump Ship
tags:
- navigation
responses:
'201':
description: Created
content:
application/json:
schema:
description: ''
type: object
x-examples:
example-1:
data:
jump:
shipSymbol: 1D7FDA-1
destination: 00E0B1
cooldown:
duration: 719
expiration: '2022-03-12T00:52:56.735Z'
properties:
data:
type: object
required:
- jump
- cooldown
properties:
jump:
type: object
required:
- shipSymbol
- destination
properties:
shipSymbol:
type: string
minLength: 1
destination:
type: string
minLength: 1
cooldown:
$ref: ../models/Cooldown.yaml
required:
- data
examples:
Success:
value:
data:
jump:
shipSymbol: 1D7FDA-1
destination: 00E0B1
cooldown:
duration: 719
expiration: '2022-03-12T00:52:56.735Z'
operationId: post-my-ships-shipSymbol-jump
security:
- AgentToken: []
requestBody:
content:
application/json:
schema:
type: object
properties:
destination:
type: string
description: The system symbol to jump to.
get:
summary: Jump Cooldown
operationId: get-my-ships-shipSymbol-jump
responses:
'200':
description: OK
content:
application/json:
schema:
description: ''
type: object
x-examples:
example-1:
data:
cooldown:
duration: 719
expiration: '2022-03-12T00:52:56.735Z'
properties:
data:
type: object
required:
- cooldown
properties:
cooldown:
$ref: ../models/Cooldown.yaml
required:
- data
security:
- AgentToken: []
tags:
- navigation
'/my/ships/{shipSymbol}/purchase':
parameters:
- schema:
type: string
name: shipSymbol
in: path
required: true
post:
summary: Purchase Cargo
tags:
- trade
responses:
'201':
description: Created
content:
application/json:
schema:
description: ''
type: object
x-examples:
example-1:
data:
waypointSymbol: X1-OE-PM
tradeSymbol: MICROPROCESSORS
credits: -843
units: 1
properties:
data:
$ref: ../models/Trade.yaml
required:
- data
examples:
Success:
value:
data:
waypointSymbol: X1-OE-PM
tradeSymbol: MICROPROCESSORS
credits: -843
units: 1
operationId: post-my-ships-shipSymbol-purchase
security:
- AgentToken: []
requestBody:
content:
application/json:
schema:
type: object
properties:
tradeSymbol:
type: string
units:
type: number
'/my/ships/{shipSymbol}/sell':
parameters:
- schema:
type: string
name: shipSymbol
in: path
required: true
post:
summary: Sell Cargo
tags:
- trade
responses:
'200':
description: OK
content:
application/json:
schema:
description: ''
type: object
x-examples:
example-1:
data:
waypointSymbol: X1-OE-PM
tradeSymbol: SILICON
credits: 144
units: -1
properties:
data:
$ref: ../models/Trade.yaml
required:
- data
examples:
Success:
value:
data:
waypointSymbol: X1-OE-PM
tradeSymbol: SILICON
credits: 144
units: -1
operationId: post-my-ships-shipSymbol-sell
description: Sell cargo from your ship's hold to the local market.
security:
- AgentToken: []
requestBody:
content:
application/json:
schema:
type: object
properties:
tradeSymbol:
type: string
units:
type: number
description: ''
'/my/ships/{shipSymbol}/refuel':
parameters:
- schema:
type: string
name: shipSymbol
in: path
required: true
post:
summary: Refuel Ship
tags:
- navigation
responses:
'201':
description: Created
content:
application/json:
schema:
description: ''
type: object
properties:
data:
type: object
properties:
credits:
type: number
fuel:
type: number
required:
- credits
- fuel
required:
- data
x-examples:
example-1:
data:
credits: 0
fuel: 0
examples:
Success:
value:
data:
credits: -1920
fuel: 800
operationId: post-my-ships-shipSymbol-refuel
security:
- AgentToken: []
'/my/ships/{shipSymbol}/scan':
parameters:
- schema:
type: string
name: shipSymbol
in: path
required: true
post:
summary: Scan
tags:
- ships
responses:
'201':
description: Created
content:
application/json:
schema:
description: ''
type: object
x-examples:
example-1:
data:
ships:
- symbol: COMMERCE_REPUBLIC-0060A0
registration:
factionSymbol: COMMERCE_REPUBLIC
role: EXCAVATOR
frameSymbol: FRAME_HEAVY_FREIGHTER
reactorSymbol: REACTOR_FUSION_I
engineSymbol: ENGINE_ION_DRIVE_I
expiration: '2022-03-08T05:20:14.725Z'
- symbol: ZANZIBAR_TRIKES-DF0AAF
registration:
factionSymbol: ZANZIBAR_TRIKES
role: HAULER
frameSymbol: FRAME_SHUTTLE
reactorSymbol: REACTOR_FUSION_I
engineSymbol: ENGINE_ION_DRIVE_II
expiration: '2022-03-08T05:20:00.725Z'
- symbol: ZANZIBAR_TRIKES-9B80BE
registration:
factionSymbol: ZANZIBAR_TRIKES
role: TRANSPORT
frameSymbol: FRAME_TRANSPORT
reactorSymbol: REACTOR_FUSION_I
engineSymbol: ENGINE_ION_DRIVE_I
expiration: '2022-03-08T05:20:06.725Z'
- symbol: COMMERCE_REPUBLIC-117520
registration:
factionSymbol: COMMERCE_REPUBLIC
role: HARVESTER
frameSymbol: FRAME_SHUTTLE
reactorSymbol: REACTOR_FUSION_I
engineSymbol: ENGINE_ION_DRIVE_II
expiration: '2022-03-08T05:19:55.725Z'
- symbol: SPACERS_GUILD-609AA5
registration:
factionSymbol: SPACERS_GUILD
role: HAULER
frameSymbol: FRAME_FRIGATE
reactorSymbol: REACTOR_FUSION_I
engineSymbol: ENGINE_ION_DRIVE_I
expiration: '2022-03-08T05:19:38.725Z'
- symbol: MINERS_COLLECTIVE-7AD322
registration:
factionSymbol: MINERS_COLLECTIVE
role: EXCAVATOR
frameSymbol: FRAME_SHUTTLE
reactorSymbol: REACTOR_FUSION_I
engineSymbol: ENGINE_ION_DRIVE_I
expiration: '2022-03-08T05:19:11.725Z'
- symbol: ZANZIBAR_TRIKES-AE6D78
registration:
factionSymbol: ZANZIBAR_TRIKES
role: HAULER
frameSymbol: FRAME_SHUTTLE
reactorSymbol: REACTOR_FUSION_I
engineSymbol: ENGINE_ION_DRIVE_II
expiration: '2022-03-08T05:20:44.725Z'
- symbol: SPACERS_GUILD-92828B
registration:
factionSymbol: SPACERS_GUILD
role: SURVEYOR
frameSymbol: FRAME_LIGHT_FREIGHTER
reactorSymbol: REACTOR_FUSION_I
engineSymbol: ENGINE_ION_DRIVE_II
expiration: '2022-03-08T05:20:49.726Z'
- symbol: ZANZIBAR_TRIKES-B5EAD1
registration:
factionSymbol: ZANZIBAR_TRIKES
role: TRANSPORT
frameSymbol: FRAME_TRANSPORT
reactorSymbol: REACTOR_FUSION_I
engineSymbol: ENGINE_ION_DRIVE_I
expiration: '2022-03-08T05:20:25.726Z'
- symbol: ZANZIBAR_TRIKES-6A4E0D
registration:
factionSymbol: ZANZIBAR_TRIKES
role: HAULER
frameSymbol: FRAME_EXPLORER
reactorSymbol: REACTOR_FUSION_I
engineSymbol: ENGINE_ION_DRIVE_II
expiration: '2022-03-08T05:19:19.726Z'
cooldown: 60
properties:
data:
type: object
required:
- ships
- cooldown
properties:
ships:
type: array
uniqueItems: true
minItems: 1
items:
$ref: ../models/ScannedShip.yaml
cooldown:
$ref: ../models/Cooldown.yaml
required:
- data
examples:
Success:
value:
data:
cooldown:
duration: 59
expiration: '2022-03-12T00:42:44.220Z'
ships:
- symbol: SPACERS_GUILD-65E1BA
registration:
factionSymbol: SPACERS_GUILD
role: EXCAVATOR
frameSymbol: FRAME_LIGHT_FREIGHTER
reactorSymbol: REACTOR_FUSION_I
engineSymbol: ENGINE_ION_DRIVE_I
expiration: '2022-03-12T00:44:14.222Z'
- symbol: MINERS_COLLECTIVE-C6ACCA
registration:
factionSymbol: MINERS_COLLECTIVE
role: HARVESTER
frameSymbol: FRAME_INTERCEPTOR
reactorSymbol: REACTOR_FUSION_I
engineSymbol: ENGINE_ION_DRIVE_I
expiration: '2022-03-12T00:44:38.222Z'
- symbol: COMMERCE_REPUBLIC-866DC7
registration:
factionSymbol: COMMERCE_REPUBLIC
role: SURVEYOR
frameSymbol: FRAME_LIGHT_FREIGHTER
reactorSymbol: REACTOR_FUSION_I
engineSymbol: ENGINE_ION_DRIVE_I
expiration: '2022-03-12T00:45:21.222Z'
- symbol: SPACERS_GUILD-2B1D01
registration:
factionSymbol: SPACERS_GUILD
role: SURVEYOR
frameSymbol: FRAME_HEAVY_FREIGHTER
reactorSymbol: REACTOR_FUSION_I
engineSymbol: ENGINE_ION_DRIVE_I
expiration: '2022-03-12T00:44:53.222Z'
- symbol: MINERS_COLLECTIVE-2F238C
registration:
factionSymbol: MINERS_COLLECTIVE
role: HAULER
frameSymbol: FRAME_SHUTTLE
reactorSymbol: REACTOR_FUSION_I
engineSymbol: ENGINE_ION_DRIVE_II
expiration: '2022-03-12T00:44:07.222Z'
- symbol: ZANZIBAR_TRIKES-ACF237
registration:
factionSymbol: ZANZIBAR_TRIKES
role: HAULER
frameSymbol: FRAME_INTERCEPTOR
reactorSymbol: REACTOR_FUSION_I
engineSymbol: ENGINE_ION_DRIVE_II
expiration: '2022-03-12T00:44:22.223Z'
- symbol: SPACERS_GUILD-94A474
registration:
factionSymbol: SPACERS_GUILD
role: EXCAVATOR
frameSymbol: FRAME_SHUTTLE
reactorSymbol: REACTOR_FUSION_I
engineSymbol: ENGINE_ION_DRIVE_I
expiration: '2022-03-12T00:43:51.223Z'
- symbol: ZANZIBAR_TRIKES-648BA8
registration:
factionSymbol: ZANZIBAR_TRIKES
role: PATROL
frameSymbol: FRAME_SHUTTLE
reactorSymbol: REACTOR_FUSION_I
engineSymbol: ENGINE_ION_DRIVE_I
expiration: '2022-03-12T00:44:56.223Z'
- symbol: COMMERCE_REPUBLIC-1EED24
registration:
factionSymbol: COMMERCE_REPUBLIC
role: PATROL
frameSymbol: FRAME_EXPLORER
reactorSymbol: REACTOR_FUSION_I
engineSymbol: ENGINE_ION_DRIVE_II
expiration: '2022-03-12T00:45:23.223Z'
- symbol: ZANZIBAR_TRIKES-A5600D
registration:
factionSymbol: ZANZIBAR_TRIKES
role: PATROL
frameSymbol: FRAME_FRIGATE
reactorSymbol: REACTOR_FUSION_I
engineSymbol: ENGINE_ION_DRIVE_II
expiration: '2022-03-12T00:44:00.223Z'
operationId: post-my-ships-shipSymbol-scan
security:
- AgentToken: []
description: Scan approaching or departing ships.
requestBody:
content:
application/json:
schema:
type: object
properties:
mode:
type: string
enum:
- APPROACHING_SHIPS
- DEPARTING_SHIPS
required:
- mode
examples:
Approaching Ships:
value:
mode: APPROACHING_SHIPS
Departing Ships:
value:
mode: APPROACHING_SHIPS
description: ''
get:
summary: Scan Cooldown
operationId: get-my-ships-shipSymbol-scan
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
cooldown:
$ref: ../models/Cooldown.yaml
examples:
Success:
value:
data:
cooldown:
duration: 59
expiration: '2022-03-12T00:42:44.220Z'
security:
- AgentToken: []
tags:
- ships
'/my/ships/{shipSymbol}/navigate':
parameters:
- schema:
type: string
name: shipSymbol
in: path
required: true
description: The ship symbol
post:
summary: Navigate Ship
tags:
- navigation
responses:
'201':
description: Created
content:
application/json:
schema:
description: ''
type: object
x-examples:
example-1:
data:
shipSymbol: 3AE434-1
departure: X1-OE-PM
destination: X1-OE-A005
durationRemaining: 2159
arrivedAt: null
properties:
data:
type: object
properties:
navigation:
$ref: ../models/ShipNavigation.yaml
fuelCost:
type: number
required:
- data
examples:
Success:
value:
data:
fuelCost: 38
navigation:
shipSymbol: BA03F2-1
departure: X1-OE-PM
destination: X1-OE-A005
durationRemaining: 2279
arrivedAt: null
operationId: post-my-ships-shipSymbol-navigate
requestBody:
content:
application/json:
schema:
type: object
properties:
destination:
type: string
description: The waypoint symbol to navigate to.
security:
- AgentToken: []
get:
summary: Navigation Status
operationId: get-my-ships-shipSymbol-navigate
responses:
'200':
description: OK
content:
application/json:
schema:
description: ''
type: object
x-examples:
example-1:
data:
shipSymbol: 3AE434-1
departure: X1-OE-PM
destination: X1-OE-A005
durationRemaining: 2159
arrivedAt: null
properties:
data:
type: object
properties:
navigation:
$ref: ../models/ShipNavigation.yaml
required:
- data
examples:
Success:
value:
data:
navigation:
shipSymbol: BA03F2-1
departure: X1-OE-PM
destination: X1-OE-A005
durationRemaining: 2279
arrivedAt: null
description: Get the status of your last navigation.
security:
- AgentToken: []
tags:
- navigation
'/my/ships/{shipSymbol}':
parameters:
- schema:
type: string
name: shipSymbol
in: path
required: true
get:
summary: View Ship
tags:
- ships
responses:
'200':
description: OK
content:
application/json:
schema:
description: ''
type: object
x-examples:
example-1:
data:
symbol: 653298-1
crew: null
officers: null
frame: FRAME_DRONE
reactor: REACTOR_SOLAR_I
engine: ENGINE_SOLAR_PROPULSION
modules:
- MODULE_CARGO_HOLD
mounts:
- MOUNT_MINING_LASER_I
registration:
factionSymbol: COMMERCE_REPUBLIC
agentSymbol: '653298'
fee: 100
role: EXCAVATOR
integrity:
frame: 1
reactor: 1
engine: 1
status: DOCKED
location: X1-OE-PM
cargo: []
properties:
data:
$ref: ../models/Ship.yaml
required:
- data
operationId: get-my-ships-shipSymbol
description: Retrieve the details of your ship.
security:
- AgentToken: []
/my/ships:
get:
summary: List Ships
tags:
- ships
responses:
'200':
description: OK
content:
application/json:
schema:
description: ''
type: object
x-examples:
example-1:
data:
- symbol: 653298-1
crew: null
officers: null
frame: FRAME_DRONE
reactor: REACTOR_SOLAR_I
engine: ENGINE_SOLAR_PROPULSION
modules:
- MODULE_CARGO_HOLD
mounts:
- MOUNT_MINING_LASER_I
registration:
factionSymbol: COMMERCE_REPUBLIC
agentSymbol: '653298'
fee: 100
role: EXCAVATOR
integrity:
frame: 1
reactor: 1
engine: 1
status: DOCKED
location: X1-OE-PM
cargo: []
- symbol: 653298-2
crew: null
officers: null
frame: FRAME_DRONE
reactor: REACTOR_SOLAR_I
engine: ENGINE_SOLAR_PROPULSION
modules:
- MODULE_CARGO_HOLD
mounts:
- MOUNT_MINING_LASER_I
registration:
factionSymbol: COMMERCE_REPUBLIC
agentSymbol: '653298'
fee: 100
role: EXCAVATOR
integrity:
frame: 1
reactor: 1
engine: 1
status: DOCKED
location: X1-OE-PM
cargo: []
- symbol: 653298-3
crew: null
officers: null
frame: FRAME_DRONE
reactor: REACTOR_SOLAR_I
engine: ENGINE_SOLAR_PROPULSION
modules:
- MODULE_CARGO_HOLD
mounts:
- MOUNT_MINING_LASER_I
registration:
factionSymbol: COMMERCE_REPUBLIC
agentSymbol: '653298'
fee: 100
role: EXCAVATOR
integrity:
frame: 1
reactor: 1
engine: 1
status: DOCKED
location: X1-OE-PM
cargo: []
- symbol: 653298-4
crew: null
officers: null
frame: FRAME_DRONE
reactor: REACTOR_SOLAR_I
engine: ENGINE_SOLAR_PROPULSION
modules:
- MODULE_CARGO_HOLD
mounts:
- MOUNT_MINING_LASER_I
registration:
factionSymbol: COMMERCE_REPUBLIC
agentSymbol: '653298'
fee: 100
role: EXCAVATOR
integrity:
frame: 1
reactor: 1
engine: 1
status: DOCKED
location: X1-OE-PM
cargo: []
- symbol: 653298-5
crew: null
officers: null
frame: FRAME_DRONE
reactor: REACTOR_SOLAR_I
engine: ENGINE_SOLAR_PROPULSION
modules:
- MODULE_CARGO_HOLD
mounts:
- MOUNT_MINING_LASER_I
registration:
factionSymbol: COMMERCE_REPUBLIC
agentSymbol: '653298'
fee: 100
role: EXCAVATOR
integrity:
frame: 1
reactor: 1
engine: 1
status: DOCKED
location: X1-OE-PM
cargo: []
- symbol: 653298-6
crew: null
officers: null
frame: FRAME_DRONE
reactor: REACTOR_SOLAR_I
engine: ENGINE_SOLAR_PROPULSION
modules:
- MODULE_CARGO_HOLD
mounts:
- MOUNT_MINING_LASER_I
registration:
factionSymbol: COMMERCE_REPUBLIC
agentSymbol: '653298'
fee: 100
role: EXCAVATOR
integrity:
frame: 1
reactor: 1
engine: 1
status: DOCKED
location: X1-OE-PM
cargo: []
meta:
total: 6
page: 1
limit: 20
properties:
data:
type: array
uniqueItems: true
minItems: 1
items:
$ref: ../models/Ship.yaml
meta:
$ref: ../models/Meta.yaml
required:
- data
- meta
examples:
Success:
value:
data:
- symbol: 55B261-1
crew: null
officers: null
fuel: 100
frame: FRAME_DRONE
reactor: REACTOR_SOLAR_I
engine: ENGINE_SOLAR_PROPULSION
modules:
- MODULE_CARGO_HOLD
mounts:
- MOUNT_MINING_LASER_I
registration:
factionSymbol: COMMERCE_REPUBLIC
agentSymbol: 55B261
fee: 100
role: EXCAVATOR
integrity:
frame: 1
reactor: 1
engine: 1
status: DOCKED
location: X1-OE-PM
cargo: []
- symbol: 55B261-2
crew: null
officers: null
fuel: 100
frame: FRAME_DRONE
reactor: REACTOR_SOLAR_I
engine: ENGINE_SOLAR_PROPULSION
modules:
- MODULE_CARGO_HOLD
mounts:
- MOUNT_MINING_LASER_I
registration:
factionSymbol: COMMERCE_REPUBLIC
agentSymbol: 55B261
fee: 100
role: EXCAVATOR
integrity:
frame: 1
reactor: 1
engine: 1
status: DOCKED
location: X1-OE-PM
cargo: []
- symbol: 55B261-3
crew: null
officers: null
fuel: 100
frame: FRAME_DRONE
reactor: REACTOR_SOLAR_I
engine: ENGINE_SOLAR_PROPULSION
modules:
- MODULE_CARGO_HOLD
mounts:
- MOUNT_MINING_LASER_I
registration:
factionSymbol: COMMERCE_REPUBLIC
agentSymbol: 55B261
fee: 100
role: EXCAVATOR
integrity:
frame: 1
reactor: 1
engine: 1
status: DOCKED
location: X1-OE-PM
cargo: []
- symbol: 55B261-4
crew: null
officers: null
fuel: 100
frame: FRAME_DRONE
reactor: REACTOR_SOLAR_I
engine: ENGINE_SOLAR_PROPULSION
modules:
- MODULE_CARGO_HOLD
mounts:
- MOUNT_MINING_LASER_I
registration:
factionSymbol: COMMERCE_REPUBLIC
agentSymbol: 55B261
fee: 100
role: EXCAVATOR
integrity:
frame: 1
reactor: 1
engine: 1
status: DOCKED
location: X1-OE-PM
cargo: []
- symbol: 55B261-5
crew: null
officers: null
fuel: 100
frame: FRAME_DRONE
reactor: REACTOR_SOLAR_I
engine: ENGINE_SOLAR_PROPULSION
modules:
- MODULE_CARGO_HOLD
mounts:
- MOUNT_MINING_LASER_I
registration:
factionSymbol: COMMERCE_REPUBLIC
agentSymbol: 55B261
fee: 100
role: EXCAVATOR
integrity:
frame: 1
reactor: 1
engine: 1
status: DOCKED
location: X1-OE-PM
cargo: []
- symbol: 55B261-6
crew: null
officers: null
fuel: 100
frame: FRAME_DRONE
reactor: REACTOR_SOLAR_I
engine: ENGINE_SOLAR_PROPULSION
modules:
- MODULE_CARGO_HOLD
mounts:
- MOUNT_MINING_LASER_I
registration:
factionSymbol: COMMERCE_REPUBLIC
agentSymbol: 55B261
fee: 100
role: EXCAVATOR
integrity:
frame: 1
reactor: 1
engine: 1
status: DOCKED
location: X1-OE-PM
cargo: []
meta:
total: 6
page: 1
limit: 20
operationId: get-my-ships
description: Retrieve all of your ships.
security:
- AgentToken: []
post:
summary: Purchase Ship
tags:
- shipyards
responses:
'200':
description: OK
content:
application/json:
schema:
description: ''
type: object
x-examples:
example-1:
data:
symbol: 4F4D44-1
crew: null
officers: null
fuel: 100
frame: FRAME_DRONE
reactor: REACTOR_SOLAR_I
engine: ENGINE_SOLAR_PROPULSION
modules:
- MODULE_CARGO_HOLD
mounts:
- MOUNT_MINING_LASER_I
registration:
factionSymbol: COMMERCE_REPUBLIC
agentSymbol: 4F4D44
fee: 100
role: EXCAVATOR
integrity:
frame: 1
reactor: 1
engine: 1
status: DOCKED
location: X1-OE-PM
cargo: []
properties:
data:
type: object
properties:
ship:
$ref: ../models/Ship.yaml
credits:
type: number
required:
- data
operationId: post-my-ships
security:
- AgentToken: []
description: Purchase a ship
requestBody:
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: The id of the shipyard listing you want to purchase.
/my/contracts:
get:
summary: List Contracts
tags:
- contracts
responses:
'200':
description: OK
content:
application/json:
schema:
description: ''
type: object
x-examples:
example-1:
data:
- id: cl0hok38t0014ks0jnoy8o5vh
faction: COMMERCE_REPUBLIC
type: PROCUREMENT
terms:
deadline: '2022-03-11T05:16:59.113Z'
payment:
onAccepted: 20000
onFulfilled: 100000
deliver:
- tradeSymbol: IRON_ORE
destination: X1-OE-PM
units: 10000
fulfilled: 0
accepted: false
fulfilled: false
expiresAt: '2022-03-09T05:16:59.112Z'
- id: cl0hok3920023kv0jflbjpltg
faction: COMMERCE_REPUBLIC
type: PROCUREMENT
terms:
deadline: '2022-03-11T05:16:59.123Z'
payment:
onAccepted: 20000
onFulfilled: 100000
deliver:
- tradeSymbol: IRON_ORE
destination: X1-OE-PM
units: 10000
fulfilled: 0
accepted: false
fulfilled: false
expiresAt: '2022-03-09T05:16:59.122Z'
meta:
total: 2
page: 1
limit: 20
properties:
data:
type: array
uniqueItems: true
minItems: 1
items:
$ref: ../models/Contract.yaml
meta:
$ref: ../models/Meta.yaml
required:
- data
- meta
examples:
Success:
value:
data:
- id: cl0hok38t0014ks0jnoy8o5vh
faction: COMMERCE_REPUBLIC
type: PROCUREMENT
terms:
deadline: '2022-03-11T05:16:59.113Z'
payment:
onAccepted: 20000
onFulfilled: 100000
deliver:
- tradeSymbol: IRON_ORE
destination: X1-OE-PM
units: 10000
fulfilled: 0
accepted: false
fulfilled: false
expiresAt: '2022-03-09T05:16:59.112Z'
meta:
total: 10
page: 1
limit: 10
operationId: get-my-contracts
security:
- AgentToken: []
description: List all of your contracts.
'/my/contracts/{contractId}':
parameters:
- schema:
type: string
name: contractId
in: path
required: true
description: The contract ID
get:
summary: Contract Details
tags:
- contracts
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
data:
$ref: ../models/Contract.yaml
examples:
Success:
value:
data:
id: cl0hok38t0014ks0jnoy8o5vh
faction: COMMERCE_REPUBLIC
type: PROCUREMENT
terms:
deadline: '2022-03-11T05:16:59.113Z'
payment:
onAccepted: 20000
onFulfilled: 100000
deliver:
- tradeSymbol: IRON_ORE
destination: X1-OE-PM
units: 10000
fulfilled: 0
accepted: false
fulfilled: false
expiresAt: '2022-03-09T05:16:59.112Z'
operationId: get-my-contracts-contractId
security:
- AgentToken: []
description: Get the details of a contract by ID.
'/my/contracts/{contractId}/accept':
parameters:
- schema:
type: string
name: contractId
in: path
required: true
post:
summary: Accept Contract
tags:
- contracts
responses:
'201':
description: Accepted
content:
application/json:
schema:
type: object
properties:
data:
$ref: ../models/Contract.yaml
operationId: post-my-contracts-contractId-accept
security:
- AgentToken: []
description: Accept a contract.
/systems:
get:
summary: List Systems
tags:
- systems
responses:
'200':
description: OK
content:
application/json:
schema:
description: ''
type: object
x-examples:
example-1:
data:
- symbol: X1-OE
sector: X1
type: RED_STAR
x: 0
'y': 0
waypoints:
- X1-OE-PM
- X1-OE-PM01
- X1-OE-A005
- X1-OE-25X
factions:
- COMMERCE_REPUBLIC
- MINERS_COLLECTIVE
- SPACERS_GUILD
charted: true
chartedBy: null
- symbol: X1-EV
sector: X1
type: ORANGE_STAR
x: 3
'y': 4
waypoints:
- X1-EV-A004
factions:
- COMMERCE_REPUBLIC
charted: true
chartedBy: null
- symbol: X1-ZZ
sector: X1
type: BLUE_STAR
x: -2
'y': 11
waypoints: []
factions: []
charted: false
chartedBy: null
meta:
total: 3
page: 1
limit: 20
properties:
data:
type: array
uniqueItems: true
minItems: 1
items:
$ref: ../models/System.yaml
meta:
$ref: ../models/Meta.yaml
required:
- data
- meta
examples:
Success:
value:
data:
- symbol: X1-OE
sector: X1
type: RED_STAR
x: 0
'y': 0
waypoints:
- X1-OE-PM
- X1-OE-PM01
- X1-OE-A005
- X1-OE-25X
factions:
- COMMERCE_REPUBLIC
- MINERS_COLLECTIVE
- SPACERS_GUILD
charted: true
chartedBy: null
meta:
total: 0
page: 0
limit: 0
operationId: get-systems
description: Return a list of all systems.
security:
- AgentToken: []
'/systems/{systemSymbol}':
parameters:
- schema:
type: string
default: X1-OE
name: systemSymbol
in: path
required: true
description: The system symbol
get:
summary: View System
tags:
- systems
responses:
'200':
description: OK
content:
application/json:
schema:
description: ''
type: object
x-examples:
example-1:
data:
symbol: X1-ZZ
sector: X1
type: BLUE_STAR
x: -2
'y': 9
waypoints: []
factions: []
charted: false
chartedBy: null
properties:
data:
$ref: ../models/System.yaml
required:
- data
examples:
Success:
value:
data:
symbol: X1-ZZ
sector: X1
type: BLUE_STAR
x: -2
'y': 9
waypoints: []
factions: []
charted: false
chartedBy: null
operationId: get-systems-systemSymbol
security:
- AgentToken: []
'/systems/{systemSymbol}/shipyards':
parameters:
- schema:
type: string
name: systemSymbol
in: path
required: true
description: the system symbol
get:
summary: List Shipyards
tags:
- shipyards
responses:
'200':
description: OK
content:
application/json:
schema:
description: ''
type: object
x-examples:
example-1:
data:
- symbol: X1-OE-PM
faction: COMMERCE_REPUBLIC
meta:
total: 1
page: 1
limit: 20
properties:
data:
type: array
uniqueItems: true
minItems: 1
items:
$ref: ../models/Shipyard.yaml
meta:
$ref: ../models/Meta.yaml
required:
- data
- meta
operationId: get-systems-systemSymbol-shipyards
security:
- AgentToken: []
description: Returns a list of all shipyards in a system.
'/systems/{systemSymbol}/shipyards/{waypointSymbol}':
parameters:
- schema:
type: string
name: systemSymbol
in: path
required: true
description: The system symbol
- schema:
type: string
name: waypointSymbol
in: path
required: true
description: The waypoint symbol
get:
summary: Shipyard Details
tags:
- shipyards
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
data:
$ref: ../models/Shipyard.yaml
operationId: get-systems-systemSymbol-shipyards-waypointSymbol
security:
- AgentToken: []
'/systems/{systemSymbol}/shipyards/{waypointSymbol}/ships':
parameters:
- schema:
type: string
name: systemSymbol
in: path
required: true
description: The system symbol
- schema:
type: string
name: waypointSymbol
in: path
required: true
description: The waypoint symbol
get:
summary: Shipyard Listings
tags:
- shipyards
responses:
'200':
description: OK
content:
application/json:
schema:
description: ''
type: object
x-examples:
example-1:
data:
- id: cl0nahta90000aq0jonm1nprl
waypoint: X1-OE-PM
price: 58191
role: EXCAVATOR
frame: FRAME_DRONE
reactor: REACTOR_SOLAR_I
engine: ENGINE_SOLAR_PROPULSION
modules:
- MODULE_CARGO_HOLD
mounts:
- MOUNT_MINING_LASER_I
meta:
total: 1
page: 1
limit: 20
properties:
data:
type: array
uniqueItems: true
minItems: 1
items:
$ref: ../models/ShipyardListing.yaml
meta:
$ref: ../models/Meta.yaml
required:
- data
- meta
examples: {}
operationId: get-systems-systemSymbol-shipyards-waypointSymbol-ships
security:
- AgentToken: []
tags:
- name: ships
- name: markets
- name: trade
- name: sell
- name: purchase
- name: navigation
- name: agents
- name: dock
- name: orbit
- name: jettison
- name: jump
- name: refuel
- name: scan
- name: contracts
- name: chart
- name: extract
- name: mining
- name: deliver
- name: survey
- name: systems
- name: waypoints
- name: shipyards
components:
schemas: {}
securitySchemes:
AgentToken:
type: http
scheme: bearer
description: When you register a new agent you will be granted a private bearer token which grants authorization to use the API.
requestBodies: {}