Carina — Trading REST API
Base: https://carina.stockbit.com
Auth: Authorization: Bearer <trading_token> (obtained via sekuritas login + PIN)
ui_ref — auto-generated unique request ID (W<timestamp><13 random chars>). Required on all POST endpoints but auto-injected by the client.
Authentication
| Method |
Path |
Description |
| POST |
/auth/v2/login |
Login with sekuritas token + PIN |
| POST |
/auth/refresh |
Refresh trading token |
POST /auth/v2/login
{ "login_token": "sekuritas_token", "pin": "YOUR_TRADING_PIN" }
Response:
{
"data": {
"access_token": "trading_jwt",
"refresh_token": "refresh_jwt",
"account": { "number": "2778867", "type": "ACCOUNT_TYPE_EQUITY" }
}
}
Orders
| Method |
Path |
Description |
| POST |
/order/v2/buy |
Place buy order |
| POST |
/order/v2/sell |
Place sell order |
| POST |
/order/v2/amend |
Amend order |
| POST |
/order/v2/amend/bulk |
Bulk amend |
| POST |
/order/v2/cancel |
Cancel order |
| POST |
/order/v2/bulk-cancel |
Bulk cancel |
| GET |
/order/v2/list |
List active orders |
| GET |
/order/v2/detail |
Order detail |
| GET |
/order/history/v3 |
Transaction history |
| GET |
/order/history/v4 |
Transaction history v4 |
| GET |
/history |
Order history |
| GET |
/history/detail |
History detail |
| GET |
/history/realized |
Realized P&L |
| GET |
/history/realized/detail |
Realized P&L detail |
POST /order/v2/buy — Payload
{
"symbol": "BUMI",
"price": 148,
"shares": 100,
"board_type": "RG"
}
| Field | Type | Required | Values |
|-------|------|----------|--------|
| `symbol` | String | Yes | Stock code |
| `price` | Int | Yes | Price per share in Rupiah |
| `shares` | Int | Yes | Number of shares (100 = 1 lot) |
| `board_type` | String | Yes | `"RG"` (Reguler), `"NG"` (Negosiasi), `"TN"` (Tunai) |
| `is_gtc` | Bool | No | Good-Till-Cancelled |
| `time_in_force` | String | No | `"0"` (GoodForDay) |
| `split_order` | Bool | No | Auto-split across sub-accounts |
| `platform_order_type` | String | No | `"PLATFORM_ORDER_TYPE_LIMIT_DAY"` |
Response:
{
"message": "",
"data": { "order_id": "XL2778867pg5P0we8GQ7", "order_limit_info": { "today_count": 1 } }
}
GET /order/v2/list — Response
{
"data": [{
"order_id": "XL2778867BrYObw7XBK7",
"market_order_id": "202607150003949089",
"symbol": "BUMI",
"status_text": "WITHDRAWN",
"side": "SIDE_BUY",
"price": { "order": 148, "average": { "price": 0, "fee": 0 } },
"qty": { "lot_done": 0, "lot_open": 1, "lot_total": 1 },
"time": { "ordered_at": "2026-07-15T07:07:58.871Z", "opened_at": "2026-07-15T14:07:58Z", "matched_at": "0001-01-01T00:00:00Z" }
}]
}
Status values: `READY`, `PENDING`, `OPEN`, `PARTIAL`, `MATCH`, `AMENDED`, `WITHDRAWN`, `REJECTED`, `EXPIRED`
Day Trade
| Method |
Path |
Description |
| POST |
/order/day-trade/v1/buy |
Day trade buy |
| POST |
/order/day-trade/v1/sell |
Day trade sell |
| POST |
/order/day-trade/v1/amend |
Day trade amend |
| POST |
/order/day-trade/v1/cancel |
Day trade cancel |
Smart Orders
| Method |
Path |
Description |
| POST |
/smart-order/bracket-order/v1/order/ |
Bracket order |
| POST |
/smart-order/stop-order/v1/order/ |
Stop order |
| POST |
/smart-order/trailing-stop/v1/order/ |
Trailing stop |
| DELETE |
/smart-order/bracket-order/v1/order/{id} |
Delete bracket order |
| DELETE |
/smart-order/stop-order/v1/order/{id} |
Delete stop order |
| DELETE |
/smart-order/trailing-stop/v1/order/{id} |
Delete trailing stop |
Portfolio
| Method |
Path |
Description |
| GET |
/portfolio/v2/list |
Full portfolio list |
| GET |
/portfolio/v2/summary |
Aggregated summary |
| GET |
/portfolio/v2/detail |
Single stock position detail |
| GET |
/portfolio/v2/transferable-stocks |
Stocks available for transfer |
| POST |
/intraservice/multi-portfolio/v1/move-cash |
Move cash between portfolios |
| POST |
/intraservice/multi-portfolio/v1/move-stock |
Move stocks between portfolios |
GET /portfolio/v2/summary — Response
{
"data": {
"aggregated_portfolio_summary": {
"trading": { "balance": 99750.8 },
"amount": { "invested": 4063286.306, "allocated": 0, "credit_limit": 99750.8 },
"profit_loss": { "net": -1877769.306, "unrealised": -1877769.306, "realised": 0 },
"gain": -0.451,
"equity": 2285267.8,
"debt": { "ratio": 0, "total": 0, "market_value": 0 }
}
}
}
GET /portfolio/v2/detail?stock_code=BUMI — Response
{
"data": {
"result": {
"symbol": "BUMI",
"company": { "name": "Bumi Resources Tbk." },
"qty": { "stock_on_hand": 2300, "available": { "lot": 23, "share": 2300 }, "balance": { "lot": 23, "share": 2300 } },
"price": { "latest": 150, "average": { "price": 453.4618, "fee": 453.4618 } },
"asset": { "unrealised": { "market_value": 345000, "profit_loss": -697962.14, "gain": -0.6692 }, "amount_invested": 1042962.14 },
"flags": { "allow_order": true, "can_buy": true, "can_sell": true }
},
"day_trade": {}
}
}
Balance / Cash
| Method |
Path |
Description |
| GET |
/balance/cash |
Available cash on hand |
| GET |
/balance/cash/info |
Cash balance info |
| GET |
/account/cashonhand |
Cash on hand |
| GET |
/balance/withdrawable |
Withdrawable balance |
| GET |
/withdraw/balance |
Withdrawable balance (legacy) |
| GET |
/account/bank |
Bank account info |
| GET |
/account/personal |
Personal account info |
| GET |
/account/sub-account/detail |
Sub-account detail |
| GET |
/v2/account/sub-account/margin |
Sub-account margin details |
| GET |
/v2/sub-account/list |
Sub-account list |
| POST |
/sub-account/create |
Create sub-account |
| POST |
/sub-account/rename |
Rename sub-account |
| POST |
/auth/account/switch |
Switch active sub-account |
Withdrawal / Deposit
| Method |
Path |
Description |
| POST |
/withdrawal/v1/withdraw |
Withdrawal v1 |
| POST |
/withdrawal/v1/withdraw/multi-account |
Multi-account withdrawal |
| GET |
/withdrawal/v1/foreign-rules |
Foreign bank withdrawal rules |
| GET |
/withdrawal/v1/option/{bank_code} |
Transfer method options |
| POST |
/cash/withdraw/request |
Withdraw request (legacy) |
| POST |
/intraservice/cash-sweep/v1/withdraw/preview |
Cash sweep preview |
| GET |
/deposit/guide |
Deposit instructions |
| GET |
/cash/deposit/history |
Deposit history |
| GET |
/cash/withdraw/history/v2 |
Withdrawal history v2 |
Exercise / Corporate Action
| Method |
Path |
Description |
| GET |
/exercise/tradable |
List of tradable exercises |
| GET |
/exercise/list |
Exercise list |
| GET |
/exercise |
Exercise overview |
| GET |
/exercise/exercisable?stockCode=X |
Check if exercisable |
| POST |
/exercise |
Submit exercise request |
| POST |
/exercise/conversion |
Request conversion |
| GET |
/corpaction/status |
Corporate action status |
| GET |
/stock/tradable?stock_codes=X |
Check stock tradability |
Account Management
| Method |
Path |
Description |
| POST |
/auth/logout |
Logout trading session |
| POST |
/auth/pin/validate |
Validate trading PIN |
| POST |
/auth/pin/change |
Change PIN |
| POST |
/auth/v2/pin/change/new |
New PIN (v2) |
| POST |
/auth/v2/pin/change/confirm |
Confirm PIN change |
| POST |
/auth/v2/pin/change/otp/send |
Send OTP for PIN change |
| POST |
/auth/v2/pin/change/otp/verify |
Verify OTP |
| POST |
/auth/v2/pin/reset/validate |
Start PIN reset |
| POST |
/auth/v2/pin/reset/new |
Set new PIN |
| POST |
/auth/v2/pin/reset/confirm |
Confirm PIN reset |
| POST |
/auth/v2/pin/reset/otp/send |
Send OTP for reset |
| POST |
/auth/v2/pin/reset/otp/verify |
Verify OTP |
| POST |
/v2/account/bank/amend |
Amend bank account |
| GET |
/v1/account/suspension/list |
Account suspension list |
| GET |
/trading/info |
Trading features status |
| GET |
/tnc/v2/get |
Get T&C |
| POST |
/tnc/acceptance |
Accept T&C |
Bonds
| Method |
Path |
Description |
| POST |
/bond/v1/buy |
Buy bond |
| GET |
/bond/v1/buy/preview |
Preview bond buy |
| POST |
/bond/v1/sell |
Sell bond |
| GET |
/bond/v1/sell/preview |
Preview bond sell |
| GET |
/bond/v1/orders |
Order list |
| GET |
/bond/v1/orders/{id} |
Order detail |
| GET |
/bond/v1/portfolio |
Bond portfolio |
| GET |
/bond/v1/portfolio/{id} |
Bond portfolio detail |
Margin
| Method |
Path |
Description |
| POST |
/position/margin-oa/collaterals/me |
Submit margin OA collateral |
| POST |
/position/margin/collaterals/transfer-in |
Transfer margin collateral |
| GET |
/sub-account/margin-activation-page-info |
Margin activation info |
Registration
| Method |
Path |
Description |
| GET |
/v2/registration/upload/url |
Get upload URL for registration docs |
| GET |
/v2/registration/check |
Check registration status |