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

# Get apiv1marginparent margin account



## OpenAPI

````yaml /proto-openapi/api/openapi.yaml get /api/v1/margin/parent-margin-account
openapi: 3.0.3
info:
  title: Monaco Protocol API
  description: REST API for the Monaco Protocol hybrid CLOB exchange.
  version: 1.0.0
servers:
  - url: https://staging.apimonaco.xyz
    description: Staging server (Testnet)
security: []
tags:
  - name: AccountsService
  - name: ApplicationsService
  - name: AuthService
  - name: BuildercodeRewardsService
  - name: CopyTradingService
  - name: DelegatedAgentsService
  - name: FaucetService
  - name: FeesService
  - name: HealthService
  - name: ManagedMarketsService
    description: |-
      Wallet-authenticated maker assignments. The signed session must match both
       configured maker user and application. Owner IDs are process fences, never auth.
       Only wallet sessions are supported; delegated-agent sessions receive 403.
  - name: MarginAccountsService
    description: |-
      Current public isolated-margin semantics:
       - a user has one parent margin account per application scope
       - opening orders create or reuse isolated position buckets under that parent
       - parent account creation is handled internally by margin workflows
  - name: MarketService
  - name: OrderbookService
  - name: OrdersService
  - name: PositionsService
    description: |-
      Current public isolated-margin semantics:
       - positions link to a parent margin account and, when applicable, a bucket id
       - opening orders create or reuse isolated position buckets under the parent
       - users can open another isolated position by reusing the parent account with a different market bucket
  - name: PulseService
  - name: SweeperService
  - name: TraderCodeService
  - name: TradesService
  - name: WhitelistService
  - name: WithdrawalsService
paths:
  /api/v1/margin/parent-margin-account:
    get:
      tags:
        - MarginAccountsService
      operationId: get_parent_margin_account_summary
      parameters:
        - name: tradingPairId
          in: query
          schema:
            type: string
            minLength: 1
            format: uuid
          description: Trading pair identifier (UUID)
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMarginAccountSummaryResponse'
        '429':
          description: >-
            Read rate limit exceeded — every authenticated read draws one
            request from the account's read budget; retry after the interval in
            details.retryAfter
      security:
        - monacoSignature: []
        - monacoHttpSignature: []
components:
  schemas:
    GetMarginAccountSummaryResponse:
      type: object
      properties:
        marginAccountId:
          type: string
          nullable: true
        equity:
          type: string
          nullable: true
        initialMarginRequired:
          type: string
          nullable: true
        maintenanceMarginRequired:
          type: string
          nullable: true
        freeCollateral:
          type: string
          nullable: true
        withdrawableCollateral:
          type: string
          description: >-
            The largest amount a transfer-out of this scope accepts without
            lowering
             any position's posted margin, so without moving a leverage or a
             liquidation price. A removal from an isolated risk bucket with one open
             position can take more, out of that position's margin: see
             `max_removable_collateral`.

             NOT a clamped `free_collateral`. Free collateral is equity headroom, and
             equity includes mark-to-market gains that a transfer cannot move — so
             the two can differ without limit. An unrealized gain never counts toward
             this figure.

             For a risk bucket this is the bucket's allocated collateral plus its
             realized PnL, less what its positions and resting orders require (the
             bucket's allocation may go negative, which is how realized profit leaves
             a live bucket); for a parent margin account, net deposits plus settled
             realized PnL that no risk bucket has allocated.

             This is the largest accepted transfer-out, and every smaller amount is
             accepted too. It is zero on a risk bucket that is not `NORMAL` (under
             liquidation or frozen as bad debt), whose allocation cannot be released,
             and on a risk bucket whose realized loss has used up its allocation: that
             bucket cannot be released at all, and the parent margin account is
             charged at most its allocation, the loss past it being the insurance
             fund's.

             Printed truncated toward zero at the quote asset's precision, so the
             printed amount itself is always accepted.
          nullable: true
        totalPositionNotional:
          type: string
          nullable: true
        unrealizedPnl:
          type: string
          nullable: true
        realizedPnl:
          type: string
          description: >-
            On a risk bucket row this is the risk bucket's cash balance
            (realized
             closes, funding and transfers between a copy account's risk buckets land
             here), not trading profit; trading PnL comes from position history and
             the portfolio PnL endpoints.
          nullable: true
        updatedAt:
          type: string
          nullable: true
        label:
          type: string
          nullable: true
        tradingPairId:
          type: string
          nullable: true
          format: uuid
        strategyKey:
          type: string
          nullable: true
        riskBucketId:
          type: string
          nullable: true
        marginMode:
          type: string
          nullable: true
        selectedTradingPairIds:
          type: array
          items:
            type: string
            minLength: 1
            format: uuid
          nullable: true
        availableOrderCollateral:
          type: string
          description: >-
            See `MarginAccountSummary.available_order_collateral`: the
            collateral
             still available to open NEW orders in this risk bucket, the risk engine
             admission gate's own bound with parent auto top-up included. Present only
             on risk-bucket rows served from a live engine snapshot; absent on parent
             rows and persisted-fallback reads.
          nullable: true
        copyFollowId:
          type: string
          description: >-
            On a copy risk bucket row, the id of the follow (copy account) that
            funds it
          format: uuid
          nullable: true
        copyLeaderHandle:
          type: string
          description: >-
            On a copy risk bucket row, the followed leader's custom TraderCode
            handle, when they still hold one
          nullable: true
        riskBucketState:
          type: string
          description: >-
            The risk bucket's lifecycle state. Present only for risk-bucket
            rows;
             a parent margin account has no lifecycle of its own. Values: NORMAL,
             PENDING_LIQUIDATION, LIQUIDATING, BAD_DEBT, CLOSED.
          nullable: true
        subaccountKey:
          type: string
          description: See `MarginAccountSummary.subaccount_key`.
          nullable: true
        marginAccountState:
          type: string
          description: See `MarginAccountSummary.margin_account_state`.
          nullable: true
        maxRemovableCollateral:
          type: string
          description: >-
            See `MarginAccountSummary.max_removable_collateral`: the largest
            removal
             the risk engine accepts when it may also lower the posted margin of the
             bucket's one open position.
          nullable: true
  securitySchemes:
    monacoSignature:
      type: apiKey
      description: >-
        Ed25519 session-key request signing. Every authenticated request carries
        three headers: `X-Monaco-PublicKey` (64-char lowercase-hex session
        public key), `X-Monaco-Timestamp` (Unix milliseconds, within 30s of
        server time), and `X-Monaco-Signature` (hex ed25519 signature). The
        signature is over `METHOD\npath?query\ntimestamp_ms\nSHA256_hex(body)`,
        where the body hash is the SHA-256 of the empty byte string when there
        is no body. Obtain the session keypair from `POST
        /api/v1/auth/challenge` followed by `POST /api/v1/auth/verify`.
      name: X-Monaco-Signature
      in: header
    monacoHttpSignature:
      type: apiKey
      description: >-
        RFC 9421 Ed25519 session-key request signatures. Send Signature-Input,
        Signature, and Content-Digest together; never combine them with
        X-Monaco-* credentials. The monaco signature covers @method, @path,
        @query, and content-digest in that order, with created (Unix seconds
        within 30s of server time), keyid (registered lowercase-hex session
        public key), and alg=ed25519 parameters. Content-Digest uses RFC 9530
        sha-256 over the exact body bytes, including the empty body. Query
        coverage retains ordering and percent encoding. Timestamp freshness does
        not reject repeated identical requests; use endpoint idempotency where
        supported. Existing legacy signing remains supported during server-first
        migration; SDK RFC 9421 signing is opt-in. See
        https://docs.0xmonaco.com/reference/http-message-signatures for the
        complete profile and trust model.
      name: Signature
      in: header

````

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