> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trusset.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Order Book

> Retrieve the full configuration of one external securities book

Returns the stored record for a single book: its pair, status, recorded decimals, settlement operator, sizing rules, fees, and price reference configuration.

Books you own and books you have imported both resolve. A book that is neither, or whose token type is not an external security, returns `ORDER_BOOK_NOT_FOUND` rather than disclosing that it exists.

This read is stored state only. For live on-chain registration, authorization and balances, use [Get Security Status](/endpoints/external-securities-trading/get-security-status).

## Path Parameters

<ParamField path="orderBookId" type="string" required>Order book ID.</ParamField>

## Response Fields

<ResponseField name="data" type="object">
  <Expandable>
    <ResponseField name="id" type="string">Order book ID.</ResponseField>
    <ResponseField name="instanceId" type="string">Owning instance. Differs from yours on an imported book.</ResponseField>
    <ResponseField name="tokenAddress" type="string">Security token.</ResponseField>
    <ResponseField name="quoteTokenAddress" type="string">Settlement asset.</ResponseField>
    <ResponseField name="name" type="string">Display name.</ResponseField>
    <ResponseField name="symbol" type="string">Display symbol.</ResponseField>
    <ResponseField name="status" type="string">`ACTIVE`, `PAUSED` or `CLOSED`.</ResponseField>
    <ResponseField name="tokenType" type="string">`EXTERNAL_SECURITY`.</ResponseField>
    <ResponseField name="settlementMode" type="string">`ON_CHAIN`.</ResponseField>
    <ResponseField name="custodyContract" type="string">Custody contract the book settles through.</ResponseField>
    <ResponseField name="settlementOperator" type="string">Wallet authorized to sign settlements for this book.</ResponseField>
    <ResponseField name="underlyingIdentifier" type="string">Instrument identifier recorded on chain. Shared liquidity keys on this.</ResponseField>
    <ResponseField name="baseDecimals" type="integer">Security token decimals, read at creation.</ResponseField>
    <ResponseField name="quoteDecimals" type="integer">Settlement asset decimals, read at creation.</ResponseField>
    <ResponseField name="minOrderSize" type="string">Minimum quantity in order book units.</ResponseField>
    <ResponseField name="maxOrderSize" type="string">Maximum quantity, or `null`.</ResponseField>
    <ResponseField name="tickSize" type="string">Price increment in order book units.</ResponseField>
    <ResponseField name="makerFeeBps" type="integer">Maker fee in basis points.</ResponseField>
    <ResponseField name="takerFeeBps" type="integer">Taker fee in basis points.</ResponseField>
    <ResponseField name="mmMakerRebateBps" type="integer">Market maker fee override, or `null`.</ResponseField>
    <ResponseField name="allowImport" type="boolean">Whether other instances may import the book.</ResponseField>
    <ResponseField name="allowSharedLiquidity" type="boolean">Whether the book pools depth with its peers.</ResponseField>
    <ResponseField name="tradingMode" type="string">`CONTINUOUS`.</ResponseField>
    <ResponseField name="cfid" type="string">Commodity fungibility class. `null` on this venue.</ResponseField>
    <ResponseField name="stockTokenId" type="string">`null` on this venue.</ResponseField>
    <ResponseField name="priceRefEnabled" type="boolean">Whether the band is enforced.</ResponseField>
    <ResponseField name="priceRefMode" type="string">`MANUAL`, `STOCK_FEED` or `EXTERNAL_FEED`.</ResponseField>
    <ResponseField name="priceRefFeedUrl" type="string">External feed endpoint, or `null`.</ResponseField>
    <ResponseField name="priceRefFeedHeaders" type="string">Feed headers as a JSON string, or `null`.</ResponseField>
    <ResponseField name="priceRefFeedPath" type="string">JSON path, or the ticker in `STOCK_FEED` mode.</ResponseField>
    <ResponseField name="priceRefEnforcement" type="string">Refresh interval.</ResponseField>
    <ResponseField name="priceRefSpreadBps" type="integer">Band half-width in basis points, or `null`.</ResponseField>
    <ResponseField name="priceRefLastPrice" type="string">Last recorded reference price, as a plain decimal.</ResponseField>
    <ResponseField name="priceRefLastUpdated" type="string">ISO 8601 timestamp, or `null`.</ResponseField>
    <ResponseField name="priceRefHaltOnStale" type="boolean">Whether a stale reference stops trading.</ResponseField>
    <ResponseField name="priceRefStaleTolerance" type="integer">Staleness window in seconds, or `null`.</ResponseField>
    <ResponseField name="priceRefCircuitBreakerBps" type="integer">Move that pauses the book, or `null`.</ResponseField>
    <ResponseField name="createdAt" type="string">ISO 8601 timestamp.</ResponseField>
    <ResponseField name="updatedAt" type="string">ISO 8601 timestamp.</ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl "https://api.trusset.org/orderbooks/external-securities/api/order-books/clx_ob_extsec_001" \
    -H "X-API-Key: trusset_your_key_here"
  ```

  ```typescript TypeScript theme={null}
  const res = await fetch(
    `https://api.trusset.org/orderbooks/external-securities/api/order-books/${orderBookId}`,
    { headers: { 'X-API-Key': 'trusset_your_key_here' } }
  );
  const { data } = await res.json();
  console.log(data.symbol, data.underlyingIdentifier, data.baseDecimals, data.quoteDecimals);
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "success": true,
    "data": {
      "id": "clx_ob_extsec_001",
      "instanceId": "inst_abc123",
      "tokenAddress": "0x51f2b9d0e77c4a1b83ce6d4a9271e5f3a0c8b912",
      "quoteTokenAddress": "0x98ad0ca091552e23c564b41c74282e5343d03e8a",
      "name": "Helvetia Growth Fund",
      "symbol": "HELG",
      "status": "ACTIVE",
      "tokenType": "EXTERNAL_SECURITY",
      "settlementMode": "ON_CHAIN",
      "custodyContract": "0x489aee4ae9546081d55848f157e03192e826988c",
      "settlementOperator": "0x5ad87a0621175206b72d10e4b8577b192e7f40ab",
      "underlyingIdentifier": "CH0012032048",
      "baseDecimals": 18,
      "quoteDecimals": 6,
      "minOrderSize": "1000000",
      "maxOrderSize": null,
      "tickSize": "10000",
      "makerFeeBps": 0,
      "takerFeeBps": 10,
      "mmMakerRebateBps": null,
      "allowImport": true,
      "allowSharedLiquidity": true,
      "tradingMode": "CONTINUOUS",
      "cfid": null,
      "stockTokenId": null,
      "priceRefEnabled": true,
      "priceRefMode": "MANUAL",
      "priceRefFeedUrl": null,
      "priceRefFeedHeaders": null,
      "priceRefFeedPath": null,
      "priceRefEnforcement": "1HOUR",
      "priceRefSpreadBps": 500,
      "priceRefLastPrice": "104.20",
      "priceRefLastUpdated": "2025-06-15T11:00:00.000Z",
      "priceRefHaltOnStale": false,
      "priceRefStaleTolerance": null,
      "priceRefCircuitBreakerBps": 2000,
      "createdAt": "2025-06-01T09:00:00.000Z",
      "updatedAt": "2025-06-15T11:00:00.000Z"
    }
  }
  ```
</ResponseExample>

## Error Codes

| Code                   | HTTP  | Cause                                                               |
| ---------------------- | ----- | ------------------------------------------------------------------- |
| `ORDER_BOOK_NOT_FOUND` | `404` | No such external securities book on this instance, and not imported |
| `SERVICE_NOT_ENABLED`  | `403` | The Trading service is not enabled on this instance                 |
