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: {}