VoidEx API (1.0.0)

Download OpenAPI specification:

License: Proprietary

VoidEx is a programmable, galaxy-wide synthetic stock exchange simulator. This API allows you to list stocks, place trades, check your wallet, and view fictional market news.

Auth

Register a new user

Request Body schema: application/json
required
email
required
string
username
required
string
password
required
string <password>

Responses

Request samples

Content type
application/json
{
  • "email": "voidtrader123@domain.com",
  • "username": "voidtrader123",
  • "password": "superSecurePassword!"
}

Response samples

Content type
application/json
{
  • "meta": { },
  • "links": { },
  • "relationships": { },
  • "data": {
    }
}

Login and receive a JWT access token

Request Body schema: application/json
required
email
required
string
password
required
string <password>

Responses

Request samples

Content type
application/json
{
  • "email": "voidtrader123@domain.com",
  • "password": "superSecurePassword!"
}

Response samples

Content type
application/json
{
  • "meta": { },
  • "links": { },
  • "relationships": { },
  • "data": {
    }
}

Refresh an access token using a valid refresh token

Authorizations:
bearerAuth
Request Body schema: application/json
required
refreshToken
required
string

Responses

Request samples

Content type
application/json
{
  • "refreshToken": "string"
}

Response samples

Content type
application/json
{
  • "meta": { },
  • "links": { },
  • "relationships": { },
  • "data": {
    }
}

Get current authenticated user

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "meta": { },
  • "links": { },
  • "relationships": { },
  • "data": {
    }
}

Log out the current session

Logs the user out by revoking their refresh token or clearing session context. Requires an Authorization header with a valid access token.

Authorizations:
bearerAuth
Request Body schema: application/json
optional
refreshToken
string

Optionally revoke the associated refresh token

Responses

Request samples

Content type
application/json
{
  • "refreshToken": "string"
}

Response samples

Content type
application/json
{
  • "statusCode": 0,
  • "meta": { },
  • "errors": [
    ]
}

Calendar

Get current Galactic Calendar time

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "galacticYear": 3,
  • "galacticCycle": 6,
  • "galacticDay": 22,
  • "hour": 14,
  • "minute": 7,
  • "second": 35,
  • "formatted": "☉3 △06 □22 14:07:0035",
  • "raw": "3.06.22.14:07:0035",
  • "localNodeTime": "TRAC-Σ 14:07",
  • "timestamp": "2025-06-30T14:07:00Z",
  • "timezone": "Galactic Standard"
}

Convert between UTC and Galactic Calendar time

Authorizations:
bearerAuth
query Parameters
direction
required
string
Enum: "utc" "gsc"

Conversion direction:

  • gsc converts ISO UTC to Galactic Time
  • utc converts Galactic Time to ISO UTC
value
required
string

The input time value to convert:

  • If direction=gsc, this must be an ISO8601 date-time string (e.g. 2025-07-09T18:10:15.019Z)
  • If direction=utc, this must be a Galactic Standard time string (e.g. ☉7461 △06 □24 21:55:0095.019 or 7461.06.24.21:55:0095.019)

Responses

Response samples

Content type
application/json
Example
{
  • "galacticYear": 3,
  • "galacticCycle": 6,
  • "galacticDay": 22,
  • "hour": 14,
  • "minute": 7,
  • "second": 35,
  • "formatted": "☉3 △06 □22 14:07:0035",
  • "raw": "3.06.22.14:07:0035",
  • "localNodeTime": "TRAC-Σ 14:07",
  • "timestamp": "2025-06-30T14:07:00Z",
  • "timezone": "Galactic Standard"
}

Get upcoming calendar events

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a specific Galactic Calendar event

Authorizations:
bearerAuth
path Parameters
id
required
string

Event ID or code

Responses

Response samples

Content type
application/json
{
  • "id": "ledgr-scan-Δ6",
  • "name": "LEDGR Integrity Scan",
  • "type": "anomaly",
  • "description": "LEDGR performs a routine anomaly check across all nodes.",
  • "date": {
    },
  • "active": true,
  • "expires": {
    }
}

Trade

Place a new trade (buy or sell)

Authorizations:
bearerAuth
Request Body schema: application/json
required
symbol
required
string
type
required
string
Enum: "buy" "sell"
quantity
required
integer
priceLimit
number or null

Optional limit price

Responses

Request samples

Content type
application/json
{
  • "symbol": "string",
  • "type": "buy",
  • "quantity": 0,
  • "priceLimit": 0
}

Response samples

Content type
application/json
{
  • "tradeId": "string",
  • "symbol": "string",
  • "type": "string",
  • "quantity": 0,
  • "price": 0,
  • "executedAt": "2019-08-24T14:15:22Z",
  • "status": "executed"
}

Get a user's trade history

Authorizations:
bearerAuth
query Parameters
symbol
string
type
string
Enum: "buy" "sell"
limit
integer
offset
integer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get open trade orders

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Cancel a pending trade

Authorizations:
bearerAuth
path Parameters
id
required
string

Responses

Market

List all tradable stocks

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get stock details

Authorizations:
bearerAuth
path Parameters
symbol
required
string

Responses

Response samples

Content type
application/json
{
  • "symbol": "string",
  • "name": "string",
  • "sector": "string",
  • "price": 0,
  • "volatility": 0,
  • "faction": {
    },
  • "planet": {
    },
  • "sharesOutstanding": 0,
  • "description": "string",
  • "priceHistory": [
    ]
}

Get historical prices for a stock

Authorizations:
bearerAuth
path Parameters
symbol
required
string
query Parameters
limit
integer
Default: 30
offset
integer
Default: 0

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get news related to a specific stock

Authorizations:
bearerAuth
path Parameters
symbol
required
string
Example: VBF

Ticker symbol of the company (e.g., VBF)

query Parameters
limit
integer
Default: 10

Limit number of news results

offset
integer
Default: 0

Offset for pagination

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get the current market ticker feed

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Banking

Get list of available intergalactic banks

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Wallet

Get current wallet and portfolio

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "bank": {
    },
  • "balance": 0,
  • "holdings": [
    ]
}

Apply donation credit to player's wallet

This route is used to credit in-game currency after a real-world donation. You may require a receipt ID, donation key, or promo token to verify the transaction.

Authorizations:
bearerAuth
Request Body schema: application/json
required
amount
required
number

Amount of credits to apply

reference
required
string

External payment reference, token, or receipt ID

Responses

Request samples

Content type
application/json
{
  • "amount": 5000,
  • "reference": "stripe:ch_1ABCxyz"
}

Response samples

Content type
application/json
{
  • "newBalance": 0,
  • "transaction": {
    }
}

View all wallet transactions

Authorizations:
bearerAuth
query Parameters
limit
integer
Default: 25
offset
integer
Default: 0

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "transactions": [
    ]
}

Get the current bank backing the player's wallet

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "name": "Solari Capital",
  • "code": "SOLARI",
  • "faction": {
    },
  • "planet": {
    },
  • "traits": [
    ],
  • "interestRate": 0.015,
  • "transactionFee": 0.01,
  • "autoAudit": false,
  • "description": "A conservative Earth-origin bank offering stable credits and interest-backed accounts."
}

Switch the player's wallet to a different bank

Authorizations:
bearerAuth
Request Body schema: application/json
required
target
required
string

The code of the bank to switch to

Responses

Request samples

Content type
application/json
{
  • "target": "SOLARI"
}

Response samples

Content type
application/json
{
  • "message": "Bank switched to SOLARI successfully.",
  • "bank": {
    }
}

Rewards

View today's daily reward

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "available": true,
  • "nextEligibleClaim": "2019-08-24T14:15:22Z",
  • "rewardAmount": 0,
  • "streakBonus": 0
}

View monthly reward status

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "available": true,
  • "nextEligibleClaim": "2019-08-24T14:15:22Z",
  • "rewardAmount": 0,
  • "monthsSinceJoined": 0,
  • "loyaltyBonus": 0
}

Claim this month's reward

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "type": "daily",
  • "amount": 500,
  • "newBalance": 0,
  • "nextEligibleClaim": "2019-08-24T14:15:22Z"
}

Claim today's daily reward

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "type": "daily",
  • "amount": 500,
  • "newBalance": 0,
  • "nextEligibleClaim": "2019-08-24T14:15:22Z"
}

View today's faction-based daily reward

Authorizations:
bearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "available": true,
  • "nextEligibleClaim": "2019-08-24T14:15:22Z",
  • "rewardAmount": 0,
  • "streakBonus": 0
}

Claim today's daily faction reward

Authorizations:
bearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "type": "daily",
  • "amount": 500,
  • "newBalance": 0,
  • "nextEligibleClaim": "2019-08-24T14:15:22Z"
}

View monthly faction reward

Authorizations:
bearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "available": true,
  • "nextEligibleClaim": "2019-08-24T14:15:22Z",
  • "rewardAmount": 0,
  • "monthsSinceJoined": 0,
  • "loyaltyBonus": 0
}

Claim this month's faction reward

Authorizations:
bearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "type": "daily",
  • "amount": 500,
  • "newBalance": 0,
  • "nextEligibleClaim": "2019-08-24T14:15:22Z"
}

News

Get all recent market news

Authorizations:
bearerAuth
query Parameters
limit
integer
Default: 10
offset
integer
company
string
Example: company=VBF

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a specific news article by ID

Authorizations:
bearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "VoidBeef CEO abducted during shareholder summit",
  • "body": "Sources confirm the shuttle carrying VoidBeef executives vanished mid-warp...",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "impact": {
    },
  • "source": "VoidexBot-5",
  • "tags": [
    ]
}

Messages

Get the authenticated user's inbox messages

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a specific message from the user's inbox

Authorizations:
bearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "subject": "string",
  • "sender": "string",
  • "received": "2019-08-24T14:15:22Z",
  • "gcDate": "string",
  • "body": "string",
  • "read": true,
  • "category": "system"
}

Mark an inbox message as read

Authorizations:
bearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "message": "Message marked as read."
}

Get public system-wide messages

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a specific public system message by ID

Authorizations:
bearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "subject": "string",
  • "sender": "string",
  • "received": "2019-08-24T14:15:22Z",
  • "gcDate": "string",
  • "body": "string",
  • "read": true,
  • "category": "system"
}

Mark a public message as read (for authenticated users tracking read status)

Authorizations:
bearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "message": "Message marked as read."
}

Achievements

Get a list of unlocked achievements for the authenticated user

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a specific achievement by ID

Authorizations:
bearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "string",
  • "description": "string",
  • "type": "milestone",
  • "points": 0,
  • "unlocked": true,
  • "unlockedAt": "2019-08-24T14:15:22Z",
  • "icon": "/assets/icons/achievements/trader.png",
  • "reward": "string"
}

Ledger

Get a summary of wallet and trading activity

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "totalTrades": 0,
  • "totalVolume": 0,
  • "realizedGains": 0,
  • "unrealizedGains": 0,
  • "taxOwed": 0
}

Get mock galactic tax form

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "year": "string",
  • "userId": "string",
  • "grossIncome": 0,
  • "deductions": 0,
  • "taxDue": 0,
  • "summary": "string"
}

LEDGR

Get current LEDGR AI status and metadata

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "uptime": "string",
  • "lastSynced": "2019-08-24T14:15:22Z",
  • "version": "string",
  • "anomaliesDetected": 0,
  • "quantumChannelsOpen": 0,
  • "status": "stable",
  • "message": "string"
}

Retrieve LEDGR system logs

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Echoes a query back through LEDGR, with potential AI commentary

Authorizations:
bearerAuth
query Parameters
query
required
string

Responses

Response samples

Content type
application/json
{
  • "echo": "string",
  • "response": "string"
}

Ping LEDGR for status and latency check

Responses

Response samples

Content type
application/json
{
  • "uptime": "string",
  • "lastSynced": "2019-08-24T14:15:22Z",
  • "version": "string",
  • "anomaliesDetected": 0,
  • "quantumChannelsOpen": 0,
  • "status": "stable",
  • "message": "string"
}

Factions

List all galactic factions

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get detailed info about a faction

Authorizations:
bearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "influence": 0,
  • "headquarters": "string",
  • "associatedBanks": [
    ],
  • "associatedCorporations": [
    ]
}

Planets

Get all planets within the economic network

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get data for a specific planet

Authorizations:
bearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "sectorId": "421-XM",
  • "type": "terrestrial",
  • "corporations": [
    ],
  • "banks": [
    ],
  • "faction": "string",
  • "atmosphere": "string",
  • "gravity": 0.1,
  • "climate": "string",
  • "terrain": "string",
  • "population": "string",
  • "description": "string",
  • "orbit": "string",
  • "notableFeatures": [
    ]
}

Corporations

List all corporations

Authorizations:
bearerAuth
query Parameters
faction
string
planet
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get details of a specific corporation

Authorizations:
bearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "founded": "2019-08-24",
  • "headquarters": {
    },
  • "planets": [
    ],
  • "faction": {
    },
  • "description": "string",
  • "stockSymbols": [
    ]
}

Sectors

List all known Galactic Sectors

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a specific Galactic Sector

Authorizations:
bearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "421-XM",
  • "name": "Echo Descent Belt",
  • "orbitaxisVector": 421,
  • "signalBand": "Midfield",
  • "regionType": "Phase Drift Zone",
  • "stations": [
    ],
  • "planets": [
    ],
  • "controllingFaction": {
    },
  • "description": "A volatile midrange sector prone to signal blackouts and sudden phase anomalies."
}

Stations

List all ORBITAXIS stations

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get details about a station

Authorizations:
bearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "TRAC-Σ-113",
  • "name": "Tracnode Sigma",
  • "sectorId": "421-XM",
  • "coordinates": {
    },
  • "type": "Relay",
  • "status": "Online",
  • "controlledBy": {
    },
  • "description": "A signal relay station active since the GSC 5190s, now partially autonomous."
}