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

# Market status (production)

> **Switched off.** Production trading is implemented but not available: orders are refused with `403 production_trading_disabled`. Once it opens, Bullionwale enables production access per account (see Production access requirements).

Whether trading is halted, which symbols are frozen, the market clock (IST) and your rates at the latest official close. The same on test and production.



## OpenAPI

````yaml /openapi.json get /api/trading/v1/market/status
openapi: 3.1.0
info:
  description: >-
    Place and read bullion orders with an API key. The test environment
    (`/api/trading/test/v1`) simulates orders; the production environment
    (`/api/trading/v1`) books real orders. **Test: available on request.
    Production: switched off.** See the availability notice in the
    documentation.
  title: Bullionwale API
  version: 1.0.0
servers:
  - description: Once the API is available
    url: https://api.bullionwale.com
security: []
tags:
  - description: >-
      The account and API key behind a request, the key's scopes, and whether
      production trading is available to the account.
    name: Account
  - description: >-
      Your live Buy and Sell rates per symbol, with freshness and trading flags.
      The same prices on test and production.
    name: Market data
  - description: >-
      The symbols you can trade: metal, price and quantity units, the sizes you
      may order and which sides are offered.
    name: Symbols
  - description: >-
      Whether trading is halted, which symbols are frozen, the market clock and
      your rates at the latest official close.
    name: Market status
  - description: >-
      Your weight allocation per metal and how much of it your open position
      uses.
    name: Trading limits
  - description: >-
      Realized profit and loss from your closed orders, in total, per symbol and
      per day.
    name: Profit & loss
  - description: >-
      Place market orders, list them and read one. Test orders are simulated;
      production orders are real.
    name: Orders
  - description: >-
      Place a buy or sell limit that waits for a price, list your limits, read,
      edit and cancel one. Test limits are simulated and never execute;
      production limits are real.
    name: Limit orders
  - description: Your net position per metal against your weight allocation.
    name: Positions
  - description: Your physical-delivery requests and their status.
    name: Deliveries
  - description: >-
      Your API keys in the calling environment: ids, names, scopes, state. Never
      a secret.
    name: API keys
  - description: >-
      Register HTTPS endpoints that receive signed order and limit-order events,
      test them and rotate their signing secret. Not yet available.
    name: Webhooks
paths:
  /api/trading/v1/market/status:
    get:
      tags:
        - Market status
      summary: Market status (production)
      description: >-
        **Switched off.** Production trading is implemented but not available:
        orders are refused with `403 production_trading_disabled`. Once it
        opens, Bullionwale enables production access per account (see Production
        access requirements).


        Whether trading is halted, which symbols are frozen, the market clock
        (IST) and your rates at the latest official close. The same on test and
        production.
      operationId: market_status_live_api_trading_v1_market_status_get
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketStatus'
          description: Successful Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: >-
            `missing_credential`: No X-API-Key header.

            `malformed_credential`: The key is not shaped like an API key.

            `wrong_tenant`: The key belongs to a different broker.

            `wrong_environment`: A test key on the production API, or the
            reverse.

            `invalid_credential`: Unknown key or wrong secret.

            `credential_revoked`: The key was revoked.

            `credential_rotated`: The key was replaced and its overlap period
            ended.

            `credential_expired`: The key expired.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: |-
            `api_access_disabled`: API access is switched off for this account.
            `account_inactive`: The account is not active.
            `insufficient_scope`: The key lacks the scope this route needs.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: >-
            `invalid_request`: The request body or parameters are invalid; see
            `detail.errors`.
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: >-
            `auth_throttled`: Too many failed authentications from this address;
            see Retry-After.

            `rate_limited`: This key (or, for orders, this account) exhausted
            its budget; see Retry-After.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: '`pricing_unavailable`: The group price could not be computed.'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    MarketStatus:
      properties:
        closing_prices:
          description: >-
            Your rates at the latest official close, per symbol; a symbol with
            no official close yet is left out.
          items:
            $ref: '#/components/schemas/ClosingPrice'
          title: Closing Prices
          type: array
        frozen_symbols:
          description: >-
            Symbols whose price has not moved for the freeze window; their
            orders are refused with `symbol_frozen` until the price moves.
          items:
            type: string
          title: Frozen Symbols
          type: array
        market_close_time:
          description: When the market closes each day (HH:MM, IST).
          title: Market Close Time
          type: string
        official_close_days:
          description: The days the official close is captured.
          items:
            type: string
          title: Official Close Days
          type: array
        official_close_time:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            When the official closing prices are captured (HH:MM, IST), or null
            when they are not captured automatically.
          title: Official Close Time
        server_time:
          description: The server's clock in the market's timezone (IST).
          title: Server Time
          type: string
        trading_halted:
          description: >-
            Trading is halted for every symbol: orders are refused with
            `trading_halted`.
          title: Trading Halted
          type: boolean
        utc_offset:
          description: The market timezone's offset, e.g. `+05:30`.
          title: Utc Offset
          type: string
      required:
        - server_time
        - utc_offset
        - trading_halted
        - frozen_symbols
        - market_close_time
        - official_close_time
        - official_close_days
        - closing_prices
      title: MarketStatus
      type: object
    ApiError:
      description: Every refusal on the trading API.
      properties:
        detail:
          $ref: '#/components/schemas/ApiErrorDetail'
      required:
        - detail
      title: ApiError
      type: object
    ClosingPrice:
      properties:
        buy:
          anyOf:
            - type: string
            - type: 'null'
          description: Your Buy rate at the official close, 2 decimals.
          title: Buy
        captured_at:
          description: When the official close was captured (ISO 8601).
          title: Captured At
          type: string
        sell:
          anyOf:
            - type: string
            - type: 'null'
          description: Your Sell rate at the official close, 2 decimals.
          title: Sell
        symbol_code:
          title: Symbol Code
          type: string
      required:
        - symbol_code
        - buy
        - sell
        - captured_at
      title: ClosingPrice
      type: object
    ApiErrorDetail:
      additionalProperties: true
      properties:
        code:
          description: Stable machine code; branch on this, not on `message`.
          title: Code
          type: string
        message:
          description: Human-readable text; may change.
          title: Message
          type: string
      required:
        - code
        - message
      title: ApiErrorDetail
      type: object
  securitySchemes:
    ApiKeyAuth:
      in: header
      name: X-API-Key
      type: apiKey

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.