Longbridge Developers
Get Started

Order Details

This API is used for order detail query

>_ CLI
# Replace the order ID below with your actual order ID
longbridge order detail 693664675163312128

Request

HTTP MethodGET
HTTP URL/v1/trade/order

Parameters

Content-Type: application/json; charset=utf-8

NameTypeRequiredDescription
order_idstringYESOrder ID for specifying order ID query, for example: 701276261045858304
is_attachedboolNOWhether order_id refers to an attached order

Request Example

from longbridge.openapi import TradeContext, Config, OAuthBuilder

oauth = OAuthBuilder("your-client-id").build(lambda url: print("Visit:", url))
config = Config.from_oauth(oauth)
ctx = TradeContext(config)

resp = ctx.order_detail(
    order_id = "701276261045858304",
    is_attached = False,
)
print(resp)
import asyncio
from longbridge.openapi import AsyncTradeContext, Config, OAuthBuilder

async def main() -> None:
    oauth = await OAuthBuilder("your-client-id").build_async(lambda url: print("Visit:", url))
    config = Config.from_oauth(oauth)
    ctx = AsyncTradeContext.create(config)

    resp = await ctx.order_detail(
        order_id = "701276261045858304",
        is_attached = False,
    )
    print(resp)

if __name__ == "__main__":
    asyncio.run(main())
const { Config, TradeContext, OAuth } = require('longbridge')

async function main() {
  const oauth = await OAuth.build('your-client-id', (_, url) => {
    console.log('Open this URL to authorize: ' + url)
  })
  const config = Config.fromOAuth(oauth)
  const ctx = TradeContext.new(config)
  const resp = await ctx.orderDetail('701276261045858304')
  console.log(resp)
}
main().catch(console.error)
import com.longbridge.*;
import com.longbridge.trade.*;

class Main {
    public static void main(String[] args) throws Exception {
        try (OAuth oauth = new OAuthBuilder("your-client-id").build(url -> System.out.println("Open to authorize: " + url)).get();
             Config config = Config.fromOAuth(oauth);
             TradeContext ctx = TradeContext.create(config)) {
            OrderDetail resp = ctx.getOrderDetail("701276261045858304").get();
            System.out.println(resp);
        }
    }
}
use std::sync::Arc;
use longbridge::{oauth::OAuthBuilder, trade::TradeContext, Config};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let oauth = OAuthBuilder::new("your-client-id").build(|url| println!("Open this URL to authorize: {url}")).await?;
    let config = Arc::new(Config::from_oauth(oauth));
    let (ctx, _) = TradeContext::new(config);
    let resp = ctx.order_detail("701276261045858304").await?;
    println!("{:?}", resp);
    Ok(())
}
#include &lt;iostream&gt;
#include <longbridge.hpp>

#ifdef WIN32
#include <windows.h>
#endif

using namespace longbridge;
using namespace longbridge::trade;

static void
run(const OAuth& oauth)
{
    Config config = Config::from_oauth(oauth);
    TradeContext ctx = TradeContext::create(config);

    ctx.order_detail("701276261045858304", [](auto res) {
        if (!res) { std::cout << "failed" << std::endl; return; }
        std::cout << res->order_id << std::endl;
    });
}

int main(int argc, char const* argv[]) {
#ifdef WIN32
    SetConsoleOutputCP(CP_UTF8);
#endif

    const std::string client_id = "your-client-id";
    OAuthBuilder(client_id).build(
    [](const std::string& url) {
        std::cout << "Open this URL to authorize: " << url << std::endl;
    },
    [](auto res) {
        if (!res) {
            std::cout << "authorization failed: " << *res.status().message() << std::endl;
            return;
        }
        run(*res);
    });

    std::cin.get();
    return 0;
}
package main

import (
	"context"
	"fmt"
	"log"

	"github.com/longbridge/openapi-go/config"
	"github.com/longbridge/openapi-go/oauth"
	"github.com/longbridge/openapi-go/trade"
)

func main() {
	o := oauth.New("your-client-id").
		OnOpenURL(func(url string) { fmt.Println("Open this URL to authorize:", url) })
	if err := o.Build(context.Background()); err != nil {
		log.Fatal(err)
	}
	conf, err := config.New(config.WithOAuthClient(o))
	if err != nil {
		log.Fatal(err)
	}
	tctx, err := trade.NewFromCfg(conf)
	if err != nil {
		log.Fatal(err)
	}
	defer tctx.Close()
	detail, err := tctx.OrderDetail(context.Background(), "701276261045858304")
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("%+v\n", detail)
}

Response

Response Headers

  • Content-Type: application/json

Response Example

{
  "code": 0,
  "message": "success",
  "data": {
    "order_id": "828940451093708800",
    "status": "FilledStatus",
    "stock_name": "Apple",
    "quantity": "10",
    "executed_quantity": "10",
    "price": "200.000",
    "executed_price": "164.660",
    "submitted_at": "1680863604",
    "side": "Buy",
    "symbol": "AAPL.US",
    "order_type": "LO",
    "last_done": "164.660",
    "trigger_price": "0.0000",
    "msg": "",
    "tag": "Normal",
    "time_in_force": "Day",
    "expire_date": "2023-04-10",
    "updated_at": "1681113000",
    "trigger_at": "0",
    "trailing_amount": "",
    "trailing_percent": "",
    "limit_offset": "",
    "limit_depth_level": 0,
    "monitor_price": "",
    "trigger_count": 1,
    "trigger_status": "NOT_USED",
    "outside_rth": "ANY_TIME",
    "currency": "USD",
    "remark": "1680863603.927165",
    "free_status": "None",
    "free_amount": "",
    "free_currency": "",
    "deductions_status": "NONE",
    "deductions_amount": "",
    "deductions_currency": "",
    "platform_deducted_status": "NONE",
    "platform_deducted_amount": "",
    "platform_deducted_currency": "",
    "history": [
      {
        "price": "164.6600",
        "quantity": "10",
        "status": "FilledStatus",
        "msg": "Execution of 10",
        "time": "1681113000"
      },
      {
        "price": "200.0000",
        "quantity": "10",
        "status": "NewStatus",
        "msg": "",
        "time": "1681113000"
      }
    ],
    "charge_detail": {
      "items": [
        {
          "code": "BROKER_FEES",
          "name": "Broker Fees",
          "fees": []
        },
        {
          "code": "THIRD_FEES",
          "name": "Third-party Fees",
          "fees": []
        }
      ],
      "total_amount": "0",
      "currency": "USD"
    },
    "attached_orders": [
      {
        "order_id": "706388312699592705",
        "attached_type_display": 2,
        "trigger_price": "10.500",
        "quantity": "200",
        "executed_qty": "0",
        "status": "NewStatus",
        "updated_at": "1651644898",
        "withdrawn": false,
        "gtd": "",
        "time_in_force": "Day",
        "counter_id": "",
        "trigger_status": 0,
        "executed_amount": "0",
        "tag": 0,
        "submitted_at": "1651644897",
        "executed_price": "0.000",
        "force_only_rth": "RTH_ONLY",
        "reviewed": false,
        "activate_order_type": "MIT",
        "activate_rth": "RTH_ONLY",
        "submit_price": ""
      }
    ],
    "multi_leg": {
      "strategy": "2",
      "strategy_name": "Vertical spread",
      "multileg_id": "Spread_QQQ20260731C764/767",
      "code": "QQQ 260731 764/767 Vertical spread",
      "legs": [
        {
          "symbol": "QQQ260731C764000.US",
          "side": "Buy",
          "position": "LONG",
          "ratio_quantity": "1",
          "strike_price": "764",
          "expire_date": "20260731",
          "contract_direction": "C"
        },
        {
          "symbol": "QQQ260731C767000.US",
          "side": "Sell",
          "position": "SHORT",
          "ratio_quantity": "1",
          "strike_price": "767",
          "expire_date": "20260731",
          "contract_direction": "C"
        }
      ]
    }
  }
}

Response Status

StatusDescriptionSchema
200Order detail query successfulorder_detail_rsp
400Query failed, request parameter error.None

Schemas

order_detail_rsp

Order Information

NameTypeRequiredDescription
order_idstringtrueOrder ID
statusstringtrueOrder Status
stock_namestringtrueStock Name
quantitystringtrueOrder Quantity
executed_quantitystringtrueExecuted Quantity

When the order is not executed, it is 0
pricestringtrueOrder Price

When the market price conditional order is not triggered, it is an empty string
executed_pricestringtrueExecution Price

When the order is not executed, it is 0
submitted_atstringtrueSubmitted Time
sidestringtrueOrder Side

Enum Value:
Buy
Sell
symbolstringtrueStock symbol, use ticker.region format, example: AAPL.US
order_typestringtrueOrder Type
last_donestringtrueLast done.

when the order is not filled, value is empty string
trigger_pricestringtrueLIT / MIT Order Trigger Price.

When the order is not LIT / MIT order, value is empty string
msgstringtrueRejected message or remark, default value is empty string.
tagstringtrueOrder tag

Enum Value
Normal - Normal Order
Gtc - Long term Order
Grey - Grey Order
time_in_forcestringtrueTime in force Type

Enum Value:
Day - Day Order
GTC - Good Til Canceled Order
GTD - Good Til Date Order
expire_datestringtrueLong term order expire date, format: YYYY-MM-DD, example: 2022-12-05.

When not a long term order, default value is empty string
updated_atstringtrueLast updated time, formatted as a timestamp (second)
trigger_atstringtrueConditional order trigger time. formatted as a timestamp (second)
trailing_amountstringtrueTSLPAMT order trailing amount.

When the order is not TSLPAMT order, value is empty string
trailing_percentstringtrueTSLPPCT order trailing percent.

When the order is not TSLPPCT order, value is empty string
limit_offsetstringtrueTSLPPCT order limit offset amount.

When the order is not TSLPPCT order, value is empty string
trigger_statusstringtrueConditional Order Trigger Status
When an order is not a conditional order or a conditional order is not triggered, the trigger status is NOT_USED

Enum Value
NOT_USED
DEACTIVE
ACTIVE
RELEASED
currencystringtrueCurrency
outside_rthstringtrueEnable or disable outside regular trading hours
Default is UnknownOutsideRth when the order is not a US stock

Enum Value:
RTH_ONLY - Regular trading hour only
ANY_TIME - Any time
OVERNIGHT - Overnight”
remarkstringtrueRemark
free_statusstringtrueCommission-free Status, default value is None

Enum Value:
None - None
Calculated - Commission-free amount to be calculated
Pending - Pending commission-free
Ready - Commission-free applied
free_amountstringtrueCommission-free amount, default value is empty string.
free_currencystringtrueCommission-free currency, default value is empty string.
deductions_statusstringtrueDeduction status/Cashback Status, default value is NONE

Enum Value:
NONE - Pending Settlement
NO_DATA - Settled with no data
PENDING - Settled and pending distribution
DONE - Settled and distributed
deductions_amountstringtrueDeduction amount, default value is empty string.
deductions_currencystringtrueDeduction currency, default value is empty string.
platform_deducted_statusstringtruePlatform fee deduction status/Cashback Status, default value is NONE

Enum Value:
NONE - Pending Settlement
NO_DATA - Settled with no data
PENDING - Settled and pending distribution
DONE - Settled and distributed
platform_deducted_amountstringtruePlatform fee deduction amount, default value is empty string.
platform_deducted_currencystringtruePlatform fee deduction currency, default value is empty string.
historyobject[]trueOrder history details
∟ pricestringtrueExecuted price for executed orders, submitted price for expired, canceled, rejected orders, etc.
∟ quantitystringtrueExecuted quantity for executed orders, remaining quantity for expired, canceled, rejected orders, etc.
∟ statusstringtrueOrder status
∟ msgstringtrueExecution or error message
∟ timestringtrueOccurrence time
charge_detailobjecttrueOrder charges
∟ total_amountstringtrueTotal charges amount
∟ currencystringtrueSettlement currency
∟ itemsobject[]trueOrder charge details
∟∟ codestringtrueCharge category code

Enum Value:
UNKNOWN
BROKER_FEES
THIRD_FEES
∟∟ namestringtrueCharge category name
∟∟ feesobject[]trueCharge details
∟∟∟ codestringtrueCharge code
∟∟∟ namestringtrueCharge name
∟∟∟ amountstringtrueCharge amount
∟∟∟ currencystringtrueCharge currency
∟ limit_depth_levelint32trueSpecifies the bid/ask depth level
∟ monitor_pricestringtrueMonitoring price
∟ trigger_countint32trueNumber of triggers
∟ attached_ordersobject[]falseList of attached order details
∟∟ order_idstringtrueAttached order ID
∟∟ attached_type_displayint32trueAttached order type.

Enum Value:
1 - Take Profit
2 - Stop Loss
∟∟ trigger_pricestringtrueTrigger price
∟∟ quantitystringtrueOrder quantity
∟∟ executed_qtystringtrueExecuted quantity
∟∟ statusstringtrueOrder status
∟∟ updated_atstringtrueLast updated time, formatted as a timestamp (second)
∟∟ withdrawnbooleantrueWhether the order has been withdrawn
∟∟ gtdstringtrueGTD expiration date, format: YYYY-MM-DD
∟∟ time_in_forcestringtrueTime in force Type

Enum Value:
Day - Day Order
GTC - Good Til Canceled Order
GTD - Good Til Date Order
∟∟ counter_idstringtrueCounter order ID
∟∟ trigger_statusint32trueConditional order trigger status after the attached order is activated.
0 - Not activated
1 - Monitoring
2 - Cancelled
4 - Triggered
∟∟ executed_amountstringtrueExecuted amount
∟∟ tagint32trueOrder tag
∟∟ submitted_atstringtrueSubmitted time, formatted as a timestamp (second)
∟∟ executed_pricestringtrueExecuted price
∟∟ force_only_rthstringtrueWhether execution is restricted to regular trading hours only
∟∟ reviewedbooleantrueWhether the order has been reviewed
∟∟ activate_order_typestringtrueOrder type submitted after triggering, e.g. LIT (limit-if-touched) or MIT (market-if-touched)
∟∟ activate_rthstringtrueWhether the order submitted after triggering allows pre/post market trading
∟∟ submit_pricestringtrueSubmitted price
multi_legobjectfalseMulti-leg strategy information. Only returned for multi-leg option combination orders; otherwise not returned.
∟ strategystringfalseMulti-leg strategy

Enum Value:
0 - CoveredCall (Covered stock)
1 - CoveredPut (Covered stock)
2 - VerticalCallSpread (Vertical spread)
3 - VerticalPutSpread (Vertical spread)
4 - Collar
5 - Straddle
6 - Strangle
∟ strategy_namestringfalseStrategy name
∟ multileg_idstringfalseMulti-leg combination ID
∟ codestringfalseMulti-leg combination code
∟ legsobject[]falseLegs of the combination order
∟∟ symbolstringfalseOption symbol, use ticker.region format, example: QQQ260731C764000.US
∟∟ sidestringfalseOrder Side

Enum Value:
Buy
Sell
∟∟ positionstringfalsePosition direction

Enum Value:
LONG
SHORT
∟∟ ratio_quantitystringfalseLeg ratio quantity
∟∟ strike_pricestringfalseStrike price
∟∟ expire_datestringfalseOption expiry date, format: YYYYMMDD
∟∟ contract_directionstringfalseContract type

Enum Value:
C - Call
P - Put