{"data":[{"method":"GET","path":"/v1/health","description":"Health check endpoint","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/openapi.json","description":"OpenAPI JSON specification","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/assets/{asset_id}","cache_ttl":5000000000,"description":"Get an asset by id","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/assets/{asset_id}/coupon_payments","cache_ttl":5000000000,"description":"Get coupons associated to an asset","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/assets","cache_ttl":5000000000,"description":"Get a list of all assets (w/ optional filters) (paginated?)","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/assets/{asset_id}/ytm","cache_ttl":5000000000,"description":"Get the annualized yield to maturity for a bond asset","allowed_roles":"PUBLIC"},{"method":"POST","path":"/v1/assets","description":"Create an asset w/ optional maturity","allowed_roles":"ADMIN"},{"method":"PUT","path":"/v1/assets/{asset_id}/coupon_payments/{coupon_payment_id}/pay","description":"Update coupon payment information","allowed_roles":"ADMIN"},{"method":"PUT","path":"/v1/assets/{asset_id}/coupon_payments/{coupon_payment_id}/complete","description":"Mark coupon payment as completed","allowed_roles":"ADMIN"},{"method":"PUT","path":"/v1/assets/{asset_id}","description":"Update an exist asset","allowed_roles":"ADMIN"},{"method":"POST","path":"/v1/orderbooks","description":"Create a new orderbook for a unique (base_asset, quote_asset) pair, along with a corresponding pool","allowed_roles":"ADMIN"},{"method":"GET","path":"/v1/orderbooks","cache_ttl":5000000000,"description":"Get a list of all orderbooks (w/ optional filters)","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/orderbooks/{order_book_id}","cache_ttl":5000000000,"description":"Get an orderbook by ID","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/orderbooks/{order_book_id}/stats","description":"Get stats for an orderbook by ID","allowed_roles":"PUBLIC"},{"method":"PUT","path":"/v1/orderbooks/{order_book_id}","description":"Update an existing orderbook","allowed_roles":"ADMIN"},{"method":"POST","path":"/v1/orderbooks/{order_book_id}/halt","description":"Halt trading activity on an existing orderbook","allowed_roles":"ADMIN"},{"method":"POST","path":"/v1/orderbooks/{order_book_id}/resume","description":"Resume trading activity on an halted orderbook","allowed_roles":"ADMIN"},{"method":"PUT","path":"/v1/orderbooks/{order_book_id}/terminate","description":"Terminate trading activity on an existing orderbook","allowed_roles":"ADMIN"},{"method":"GET","path":"/v1/orderbooks/{order_book_id}/summary","cache_ttl":1000000000,"description":"Get a summary of the orderbook's state","allowed_roles":"ADMIN|SELF"},{"method":"GET","path":"/v1/orderbooks/{order_book_id}/L3","cache_ttl":1000000000,"description":"Get open orders for this orderbook (L3)","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/orderbooks/{order_book_id}/L2","cache_ttl":1000000000,"description":"Get open price levels for this orderbook (L2)","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/orderbooks/{order_book_id}/L1","cache_ttl":1000000000,"description":"Get top of book for this orderbook (L1)","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/orderbooks/{order_book_id}/top","cache_ttl":3600000000000,"description":"Redirect /v1/orderbooks/{order_book_id}/top to /v1/orderbooks/{order_book_id}/L1","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/orderbooks/{order_book_id}/depth","cache_ttl":3600000000000,"description":"Redirect /v1/orderbooks/{order_book_id}/depth to /v1/orderbooks/{order_book_id}/L2","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/orderbooks/{order_book_id}/orders","cache_ttl":3600000000000,"description":"Redirect /v1/orderbooks/{order_book_id}/orders to /v1/orderbooks/{order_book_id}/L3","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/charts/{order_book_id}/candle","description":"Get candle chart info from START to END with optional resolution","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/debug/connstats","description":"debug websocket statistics endpoint","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/debug/pid","description":"write the process ID to the response","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/debug/vars","description":"export expvar variables for debugging","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/debug/poolstats","description":"","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/debug/pprof/block","description":"","allowed_roles":"ADMIN"},{"method":"GET","path":"/v1/debug/pprof/cmdline","description":"","allowed_roles":"ADMIN"},{"method":"GET","path":"/v1/debug/pprof/goroutine","description":"","allowed_roles":"ADMIN"},{"method":"GET","path":"/v1/debug/pprof/heap","description":"","allowed_roles":"ADMIN"},{"method":"GET","path":"/v1/debug/pprof/profile","description":"","allowed_roles":"ADMIN"},{"method":"GET","path":"/v1/debug/pprof/threadcreate","description":"","allowed_roles":"ADMIN"},{"method":"GET","path":"/v1/debug/orderbooks/{order_book_id}/openmarket","description":"","allowed_roles":"ADMIN"},{"method":"GET","path":"/v1/debug/orderbooks/inactive","description":"","allowed_roles":"ADMIN"},{"method":"GET","path":"/v1/debug/db/count/caller","description":"Get a count of queries by caller (file:line)","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/debug/db/count/sql","description":"Get a count of queries by SQL statement","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/debug/db/count/fileline","description":"Get a count of queries by file:line","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/debug/db/count/func","description":"Get a count of queries by function","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/ledger/module","description":"Get the balances of the entire module account","allowed_roles":"SELF"},{"method":"GET","path":"/v1/ledger/module/{asset_id}","description":"Get the balances of a single asset in the module account","allowed_roles":"SELF"},{"method":"GET","path":"/v1/ledger/positions","description":"Get all users' positions","allowed_roles":"ADMIN"},{"method":"GET","path":"/v1/ledger/positions/{user_id}","description":"Get a specific user's positions","allowed_roles":"ADMIN|SELF|INTEGRATOR"},{"method":"GET","path":"/v1/ledger/positions/self","description":"Get your own positions","allowed_roles":"SELF"},{"method":"GET","path":"/v1/ledger/balances/{user_id}","description":"Get a specific user's available, locked, and borrowed assets","allowed_roles":"ADMIN|SELF|INTEGRATOR"},{"method":"GET","path":"/v1/ledger/value/{user_id}","description":"Get a specific user's available, locked, and borrowed USD value","allowed_roles":"ADMIN|SELF|INTEGRATOR"},{"method":"GET","path":"/v1/ledger/interest/{user_id}","description":"Get a specific user's interest","allowed_roles":"ADMIN|SELF|INTEGRATOR"},{"method":"GET","path":"/v1/ledger/balances/self","description":"Get your own available, locked, and borrowed assets","allowed_roles":"SELF"},{"method":"GET","path":"/v1/ledger/value/self","description":"Get your own available, locked, and borrowed USD value","allowed_roles":"SELF"},{"method":"GET","path":"/v1/ledger/interest/self","description":"Get your own interest","allowed_roles":"SELF"},{"method":"POST","path":"/v1/ledger/deposit/{user_id}","description":"Deposit assets into the account from the outside world","allowed_roles":"ADMIN|INTEGRATOR"},{"method":"POST","path":"/v1/ledger/withdraw/{user_id}","description":"Withdraw assets from the account to the outside world","allowed_roles":"ADMIN"},{"method":"POST","path":"/v1/ledger/withdraw/requests/{user_id}","description":"Initiate a withdrawal request for the given user","allowed_roles":"ADMIN|SELF|INTEGRATOR"},{"method":"POST","path":"/v1/ledger/withdraw/requests/self","description":"Initiate a withdrawal request for the logged in user","allowed_roles":"ADMIN|SELF|INTEGRATOR"},{"method":"GET","path":"/v1/ledger/withdraw/requests","description":"Get all withdrawal requests","allowed_roles":"ADMIN|INTEGRATOR"},{"method":"GET","path":"/v1/ledger/withdraw/requests/{user_id}","description":"Get withdrawal requests for the given user","allowed_roles":"ADMIN|SELF|INTEGRATOR"},{"method":"GET","path":"/v1/ledger/withdraw/requests/self","description":"Get withdrawal requests for the logged in user","allowed_roles":"SELF"},{"method":"POST","path":"/v1/ledger/withdraw/requests/{withdrawal_id}/approve","description":"Approve a pending withdrawal request","allowed_roles":"ADMIN|INTEGRATOR"},{"method":"POST","path":"/v1/ledger/withdraw/requests/{withdrawal_id}/reject","description":"Reject a pending withdrawal request","allowed_roles":"ADMIN|INTEGRATOR"},{"method":"POST","path":"/v1/ledger/withdraw/requests/{withdrawal_id}/cancel","description":"Cancel a pending withdrawal request","allowed_roles":"ADMIN|SELF|INTEGRATOR"},{"method":"POST","path":"/v1/positions/transfer_balances","description":"Transfer balances between two positions of the logged in user","allowed_roles":"SELF"},{"method":"POST","path":"/v1/positions/close","description":"Close an isolated position","allowed_roles":"SELF"},{"method":"GET","path":"/v1/leverage/liquidation-targets","description":"Get a list of users who are eligible for automatic liquidation","allowed_roles":"ADMIN"},{"method":"POST","path":"/v1/leverage/supply","description":"Supply leverage for a specific asset","allowed_roles":"SELF"},{"method":"POST","path":"/v1/leverage/withdraw","description":"Withdraw leverage for a specific asset","allowed_roles":"SELF"},{"method":"GET","path":"/v1/leverage/average_utilization/{asset_id}","description":"Get the average leverage utilization","allowed_roles":"ADMIN"},{"method":"GET","path":"/v1/leverage/utilization/{user_id}","description":"Get the user's leverage utilization for a given asset","allowed_roles":"ADMIN"},{"method":"GET","path":"/v1/leverage/interest/{user_id}","description":"Get the leverage accrued interest for a specific user, asset, and time range","allowed_roles":"ADMIN"},{"method":"GET","path":"/v1/leverage/accrued_interest/{user_id}","description":"Get the current leverage accrued interest (in USD) for a specific user and asset","allowed_roles":"ADMIN|SELF"},{"method":"GET","path":"/v1/leverage/accrued_interest/self","description":"Get the current leverage accrued interest (in USD) for a specific user and asset","allowed_roles":"ADMIN|SELF"},{"method":"POST","path":"/v1/leverage/accrued_interest/pay","description":"Pay the current leverage accrued interest (in USD) for a specific user and asset","allowed_roles":"SELF"},{"method":"POST","path":"/v1/leverage/accrued_interest/claim","description":"Claim the current leverage accrued interest (in USD) for a specific user and asset","allowed_roles":"SELF"},{"method":"POST","path":"/v1/leverage/accrued_interest/settle","description":"Settle all the current leverage accrued interest for a specific user, asset, and/or position","allowed_roles":"SELF"},{"method":"POST","path":"/v1/liquidity/pool/{pool_id}/add","description":"Add liquidity to a pool","allowed_roles":"LIQUIDITY_PROVIDER"},{"method":"POST","path":"/v1/liquidity/pool/{pool_id}/remove","description":"Subtract liquidity from a pool","allowed_roles":"LIQUIDITY_PROVIDER"},{"method":"GET","path":"/v1/trades","description":"Get a filtered, paginated list of trades","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/trades/{trade_id}","cache_ttl":5000000000,"description":"Get a trade by ID","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/price","description":"Get a list of the latest prices for all assets in dollars","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/price/asset/{asset_id}","description":"Get the latest price for a specific asset in dollars","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/price/pool/{pool_id}","description":"Get the latest price for a specific pool in dollars","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/transactions","description":"Get a filtered, paginated list of transactions","allowed_roles":"ADMIN|SELF|INTEGRATOR"},{"method":"GET","path":"/v1/transactions/{transaction_id}","description":"Get a transaction by ID","allowed_roles":"ADMIN|SELF|INTEGRATOR"},{"method":"POST","path":"/v1/tenants","description":"Insert tenant details by admin.","allowed_roles":"ADMIN"},{"method":"GET","path":"/v1/tenants","description":"Get tenants","allowed_roles":"ADMIN"},{"method":"GET","path":"/v1/tenants/{tenant_id}","description":"Get tenant details by ID.","allowed_roles":"ADMIN"},{"method":"PUT","path":"/v1/tenants/{tenant_id}","description":"Update tenant details by ID.","allowed_roles":"ADMIN"},{"method":"POST","path":"/v1/tenants/{tenant_id}/restrictions","description":"Add restrictions for tenant.","allowed_roles":"ADMIN"},{"method":"PUT","path":"/v1/tenants/{tenant_id}/restrictions","description":"Update tenant restrictions by ID.","allowed_roles":"ADMIN"},{"method":"GET","path":"/v1/tenants/restrictions","description":"Get all tenant restrictions","allowed_roles":"ADMIN"},{"method":"GET","path":"/v1/tenants/{tenant_id}/restrictions","description":"Get tenant restrictions by tenant ID","allowed_roles":"ADMIN|SELF|INTEGRATOR"},{"method":"POST","path":"/v1/user","description":"Create a new user","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/user","cache_ttl":5000000000,"description":"Get all users (w/ optional filters)","allowed_roles":"ADMIN|INTEGRATOR"},{"method":"GET","path":"/v1/user/{user_id}","cache_ttl":5000000000,"description":"Get user info by user id","allowed_roles":"ADMIN|SELF|INTEGRATOR"},{"method":"GET","path":"/v1/user/self","cache_ttl":5000000000,"description":"Get your own user information","allowed_roles":"SELF"},{"method":"PUT","path":"/v1/user/{user_id}","description":"Update anything about user","allowed_roles":"ADMIN|SELF|INTEGRATOR"},{"method":"DELETE","path":"/v1/user/{user_id}","description":"Disable user by admin or self","allowed_roles":"ADMIN|SELF|INTEGRATOR"},{"method":"PUT","path":"/v1/user/{user_id}/enable","description":"Enable user by admin","allowed_roles":"ADMIN|INTEGRATOR"},{"method":"GET","path":"/v1/user/{user_id}/config","cache_ttl":5000000000,"description":"Get user configuration","allowed_roles":"ADMIN|SELF|INTEGRATOR"},{"method":"GET","path":"/v1/user/config/self","cache_ttl":5000000000,"description":"Get your own user configuration","allowed_roles":"SELF"},{"method":"PUT","path":"/v1/user/{user_id}/config","description":"Update user config (not roles)","allowed_roles":"ADMIN|SELF|INTEGRATOR"},{"method":"PUT","path":"/v1/user/config/self","description":"Update your own user config (not roles)","allowed_roles":"SELF"},{"method":"PUT","path":"/v1/user/{user_id}/verify","description":"Verifying user by admin or self","allowed_roles":"ADMIN|SELF|INTEGRATOR"},{"method":"GET","path":"/v1/user/exists","description":"Check user email exists or not","allowed_roles":"PUBLIC"},{"method":"GET","path":"/v1/user/apikey","description":"Get user's api keys","allowed_roles":"SELF"},{"method":"GET","path":"/v1/user/{user_id}/apikey","description":"Get user's api keys","allowed_roles":"ADMIN|SELF|INTEGRATOR"},{"method":"POST","path":"/v1/user/apikey","description":"Create api key for user","allowed_roles":"SELF"},{"method":"POST","path":"/v1/user/{user_id}/apikey","description":"Create api key for user","allowed_roles":"ADMIN|SELF|INTEGRATOR"},{"method":"PUT","path":"/v1/user/apikey/{key_id}/revoke","description":"Revoke active api key for user","allowed_roles":"SELF"},{"method":"PUT","path":"/v1/user/{user_id}/apikey/{key_id}/revoke","description":"Revoke active api key for user","allowed_roles":"ADMIN|SELF|INTEGRATOR"},{"method":"POST","path":"/v1/orders","description":"Submit an order","allowed_roles":"TRADER"},{"method":"POST","path":"/v1/orders/validate","description":"Validate the submit order request","allowed_roles":"TRADER"},{"method":"GET","path":"/v1/orders","description":"Get all orders","allowed_roles":"TRADER"},{"method":"DELETE","path":"/v1/orders","description":"Cancel all orders for a user","allowed_roles":"ADMIN|TRADER"},{"method":"GET","path":"/v1/orders/{order_id}/updates","description":"Get order updates by ID","allowed_roles":"TRADER"},{"method":"GET","path":"/v1/orders/{order_id}","description":"Get an aggregated order state by ID","allowed_roles":"TRADER"},{"method":"DELETE","path":"/v1/orders/{order_id}","description":"Cancel an order by ID","allowed_roles":"TRADER"},{"method":"POST","path":"/v1/orders/conditional","description":"Create a conditional order","allowed_roles":"TRADER"},{"method":"POST","path":"/v1/bot/strategies","description":"","allowed_roles":"ADMIN"},{"method":"GET","path":"/v1/bot/strategies","cache_ttl":5000000000,"description":"","allowed_roles":"ADMIN"},{"method":"GET","path":"/v1/bot/strategies/{strategy_id}","cache_ttl":5000000000,"description":"","allowed_roles":"ADMIN"},{"method":"PUT","path":"/v1/bot/strategies/{strategy_id}","description":"","allowed_roles":"ADMIN"},{"method":"POST","path":"/v1/bots","description":"","allowed_roles":"ADMIN"},{"method":"GET","path":"/v1/bots","cache_ttl":10000000000,"description":"","allowed_roles":"ADMIN"},{"method":"GET","path":"/v1/bots/{bots_id}","cache_ttl":10000000000,"description":"","allowed_roles":"ADMIN"},{"method":"PUT","path":"/v1/bots/{bots_id}","description":"","allowed_roles":"ADMIN"},{"method":"PUT","path":"/v1/bots/{bot_id}/start","description":"","allowed_roles":"ADMIN"},{"method":"PUT","path":"/v1/bots/{bot_id}/stop","description":"","allowed_roles":"ADMIN"},{"method":"GET","path":"/v1/user/{user_id}/coupon_payments","description":"","allowed_roles":"ADMIN|SELF|INTEGRATOR"},{"method":"GET","path":"/v1/orderbooks/{order_book_id}/coupon_payments","description":"","allowed_roles":"ADMIN"},{"method":"GET","path":"/v1/pl/{user_id}","description":"Get the user's PL Report","allowed_roles":"ADMIN|SELF|INTEGRATOR"},{"method":"GET","path":"/v1/pl/self","description":"Get the user's PL Report","allowed_roles":"SELF"},{"method":"GET","path":"/v1/realized_pnl_settlements","description":"Get realized PnL settlements with filters","allowed_roles":"ADMIN|SELF|INTEGRATOR"},{"method":"PUT","path":"/v1/realized_pnl_settlements/{settlement_id}","description":"Settle a realized PnL record","allowed_roles":"ADMIN"},{"method":"PUT","path":"/v1/realized_pnl_settlements","description":"Settle multiple realized PnL records by filters","allowed_roles":"ADMIN"},{"method":"GET","path":"/v1/user/{user_id}/position_accounts","description":"Get the user's position account ids and names etc.","allowed_roles":"ADMIN|SELF|INTEGRATOR"},{"method":"GET","path":"/v1/user/self/position_accounts","description":"Get the user's position account ids and names etc.","allowed_roles":"SELF"},{"method":"POST","path":"/v1/integrators/user","description":"Create a new user for specific integrator/tenant","allowed_roles":"ADMIN|INTEGRATOR"}],"metadata":{"status_code":200,"trace_id":"019d89652c557264aab061b10722fb76","request_id":"019d89652c557269b83872f4bec57c2b"}}