Stockbit Research research Playground @hansputera

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