Documentation
REST API for the Token-x platform. All endpoints require a Bearer token from POST /auth/login unless noted.
Base URL: https://api.token-x.financeAPI version: v1Authorization: Bearer <token> on every request. Tokens expire after 24 h. Use POST /auth/refresh with the refresh token to extend the session./auth/loginObtain a JWT for a user account/auth/refreshRefresh an expired access token/auth/logoutInvalidate current token/investors/meFetch authenticated investor profile/investors/kyc/startInitiate Sumsub KYC flow — returns applicantToken/investors/kyc/statusCurrent KYC status for the investor/investors/walletsList investor wallets (hosted + self-custody)/investors/walletsRegister a new hosted wallet/investors/portfolioHoldings, NAV, unrealised PnL/offeringsList published offerings (marketplace)/offerings/:idOffering detail + documents/offeringsCreate a new offering draft (Issuer)/offerings/:idUpdate offering fields/offerings/:id/publishSubmit for Super Admin approval/offerings/:id/subscribeInvestor subscription intent/compliance/applicantsList KYC/KYB applicants (Compliance Officer)/compliance/applicants/:id/approveApprove KYC/compliance/applicants/:id/rejectReject KYC with reason/compliance/walletsWallets pending whitelist approval/compliance/wallets/:id/approveApprove wallet whitelist/compliance/audit-logImmutable audit event log/compliance/transfer-restrictionsActive Reg D / Reg S lockups/compliance/reports/reg-d/:offeringReg D 506(b)/(c) CSV/JSON report/compliance/reports/cap-table/:offeringCap table snapshot/tokenization/whitelistWhitelist investor wallet on-chain/tokenization/mintMint tokens to whitelisted investor/tokenization/burnBurn tokens (redemption)/tokenization/freezeFreeze investor tokens/tokenization/force-transferRegulatory force transfer (Transfer Agent)/ats/orderbook/:offeringCurrent order book depth/ats/ordersPlace limit / market / stop order/ats/orders/:idCancel an open order/ats/ordersInvestor order history/ats/tradesExecuted fills for an offering/investor/redemptionsRequest redemption/investor/redemptionsInvestor redemption history/transfer-agent/redemptionsPending redemptions (Transfer Agent)/transfer-agent/redemptions/:id/approveApprove → triggers burn + payment release400Bad RequestInvalid input — check the request body401UnauthorizedMissing or expired token403ForbiddenInsufficient role or compliance gate active (e.g. sanctions flag)404Not FoundResource does not exist409ConflictDuplicate — e.g. wallet already registered422UnprocessablePre-trade compliance check failed — reason_code in body500Internal ErrorPlatform error — see x-request-id header for trace