Status: Limited
The T-Suite marketplace API is the API that Libertum’s own web apps use. It is not yet a supported public product: there is no published, maintained OpenAPI reference, and paths and fields can change between releases. Use this page to understand the shape of the API; agree any integration with Libertum before building on it. A public OpenAPI reference is planned.
All marketplace API routes are served under the base path:
/marketplace/v1
on the T-Suite API host for your deployment. The host is provided as part of an integration arrangement.
Requests and responses are JSON over HTTPS, except file uploads (multipart) and the real-time notification stream (Server-Sent Events).
| Group | Prefix | Authentication |
|---|---|---|
| Account | sign-up, sign-in, code verification and password reset at the root of the base path | None (these routes create the session) |
| Authenticated | /auth/... | User access token — see Authentication |
| Other authenticated groups | orders, dividends and subscription management have their own prefixes | User access token |
| Public | /public/... | None — read-only data that is already public, plus a few token-gated flows |
| Stablecoin developer API | /api/stablecoin/v1 | Issuer API key |
| Funds API | /api/funds/v1 | Scoped Funds API key or OAuth client credentials |
Most product routes behind /auth/... also pass the onboarding gate, and paid products additionally check the subscription module.
The main resource groups, by product area. This is a map, not an endpoint reference.
Investing and offerings
| Resource group | Purpose |
|---|---|
| Offerings | Create, configure, deploy and list offerings; offering documents; Coming Soon listings and interest |
| Orders | Primary subscription orders and their payment rails (card, bank wire, USDC/USDT via Escrow on EVM, RLUSD/USDC on XRPL, custodian balance) |
| Agreements | Agreement templates, investor signature specimens, signing, executed PDFs and audit trails |
| Dividends | Dividend distributions to token holders |
| Transfers | Token transfer requests and the transfer journal |
| Secondary market (P2P) | Peer-to-peer order book for listed tokens |
| Redemptions | Redemption windows, redemption requests and investor payout accounts |
| Governance | Proposals and investor voting |
| Investor statements | Investor summary and combined transaction feed |
| Holdings | A user’s token holdings |
Accounts and billing
| Resource group | Purpose |
|---|---|
| Profile and security | Profile, password, two-factor authentication and backup codes, sign-out |
| KYC / KYB | Identity-verification sessions and status (via SumSub) |
| Subscriptions | Plan and module catalogue, checkout, plan changes, add-ons, billing portal |
| Issuer team | Inviting team members and managing roles |
| Issuer billing and payments | Issuer invoices, payment settings, bank accounts and saved payment methods |
| Linked wallets | External wallets a user has connected |
| Country restrictions | The platform’s country grey-list and black-list |
| Support | Support tickets and disputes |
Wallets and payments
| Resource group | Purpose |
|---|---|
| Custodian Wallet | Balances, deposit details, saved withdrawal addresses and withdrawals |
| Gas treasury | Prepaid gas balance and network-fee charges for custodian transactions |
| T-Pay | Fiat on/off-ramp via Bridge.xyz (limited availability) |
Distribution, structuring and other products
| Resource group | Purpose |
|---|---|
| Distribution Hub | Investor CRM, AI matching, campaigns, pipeline, communications and Libby AI features |
| Hosting | Cross-marketplace hosting requests and the Ecosystem Directory |
| Structuring | Structuring projects, intake, research, document generation, artefacts and guest review links |
| Funds | Fund-administrator operators, funds and share classes, NAV packs, dealing, private markets, reconciliation, journals, enforcement, integrations and investors’ fund orders |
| Token Import | Importing existing tokens, holder rosters, roles and hand-over to Libertum |
| Stablecoin Studio | Stablecoin configuration, mint and redeem orders, and the minter portal |
| Whitelabel | Tenant branding and custom-domain settings |
| Asset Management | Assets, portfolios, clients, work orders, tags, compliance items, reports and migration |
| Notifications | In-app notifications and the real-time stream — see Real-time & webhooks |
| Accreditation | Investor accreditation applications, evidence and review decisions |
| XRPL platform | XRPL platform accounts, credentials, trust-line authorisation and reserves for live XRPL offerings |
Public routes cover data that is already visible on public pages — a public offering view and its NAV history, the country restriction lists, tenant branding, the platform fee, Distribution Hub investor self-registration, and the Structuring guest review page that outside counsel opens from a share link.
Token metadata. ERC-721 token metadata is served at a separate, permanent path outside /marketplace/v1, because that URL is written into token contracts and must never change. It resolves only for approved, deployed ERC-721 offerings.
Responses use a single envelope:
{
"message": "Human-readable message",
"status": 200,
"data": { },
"error": false
}
error is true on any failure, and status repeats the HTTP status code.data carries the payload on success. On some failures it carries machine-readable detail — for example requiresOnboarding and missingStep from the onboarding gate, or reason and moduleId from a subscription check.status and on fields in data, not on the message text, which can change.Exceptions: the real-time stream sends Server-Sent Events, and token metadata returns raw ERC-721 metadata without the envelope.
| Status | When you will see it |
|---|---|
200 / 201 | Success |
400 | Validation failed or the request is not allowed in the current state |
401 | Missing, invalid or expired access token, or a session that has ended |
402 | The account does not have the subscription module this product requires. data.reason names the case (for example, not subscribed versus a lapsed subscription that is now read-only) and data.moduleId names the module to add |
403 | Signed in but not allowed: 2FA step pending, onboarding incomplete, wrong role or persona, or a blocked account |
404 | The route or resource was not found |
409 | Conflict with existing data, such as a duplicate |
429 | Rate limit reached |
500 | Unexpected server error |
503 | A dependency, such as the session store, is temporarily unavailable — retry with backoff |
Products that answer 402 today include Distribution Hub, Libby AI features, Structuring and Stablecoin Studio. When a Structuring workspace owner’s subscription lapses, every Structuring route answers 402 for the owner, members and guests until it is active again.
Rate limits apply to specific sensitive routes — for example, requesting withdrawal verification codes, the public Structuring review page, and the Stablecoin developer API (300 requests per minute per client). When a limit is reached the API answers 429; limits are advertised in standard RateLimit-* response headers where they apply. Clients should back off and retry rather than hammering a route.
Status: Limited
Stablecoin Studio issuers have a small, read-only developer API at /api/stablecoin/v1:
Bearer token or in an API-key header.Status: Live — for Funds operators
Fund administrators on Funds have their own public API at /api/funds/v1 under the same base path:
/api/funds/v1/openapi.json. The TypeScript SDK, the tsuite CLI and the MCP server are built on the same specification.funds:read, dealing:read, dealing:write) and, optionally, limited to particular funds; or OAuth client credentials. A key created for another person stays pending until that person accepts it, and only they see the secret. A missing key answers 401; a key without the needed scope is refused with an insufficient-scope error.Idempotency-Key header. Repeating a request with the same key returns the original result (with Idempotent-Replayed: true); reusing the key with a different body is refused.https endpoints, with headers T-Suite-Event-Type, T-Suite-Event-Id and T-Suite-Signature (t=…,v1=…), ping, pause/resume and replay. Events include nav.published, dealing_run.approved and order.settled.A maintained public OpenAPI reference for the marketplace API is planned (the Funds API already publishes its own OpenAPI 3.1 specification). Until it is published, treat this page as the authoritative description of the API’s shape, and request endpoint-level detail from Libertum as part of an integration agreement.