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

# Get balance, equity and reporting fields for accounts

> Returns paginated accounts for end-of-day reporting. By default, returns only `ACTIVE` accounts. Pass `?status=FAILED`, another AccountStatusChoices value, or `?status=all` to broaden the result set. Combine with `?disabled_at_after=` and `?disabled_at_before=` to scope results to a window of when the account entered its terminal state (max window: 31 days; useful for daily failed-account roll-ups). Staff users see all accessible accounts; regular users see only their own.



## OpenAPI

````yaml /openapi.json get /api/accounts/balance-equity/
openapi: 3.0.3
info:
  title: TBBO API
  version: 1.0.0
  description: >
    Authentication uses short-lived session tokens (3 hours).


    Send the token with every request using the `Authorization` header:


    ```

    Authorization: Token <token>

    ```


    Example:


    ```

    Authorization: Token 123abc456def789

    ```


    To obtain a token, call `POST /auth/login/` with valid credentials. The
    response includes a `key` value. Use that value in the header above for
    subsequent API calls.


    How to find required IDs:


    - `challenge_id`: Prop Tech Configuration -> Challenges

    - `user_id`: Tickblaze Manager -> Users

    - `account_id`: Tickblaze Manager -> Accounts 
servers: []
security: []
tags:
  - name: withdrawals
    description: Withdrawal related endpoints
    x-displayName: Withdrawals
paths:
  /api/accounts/balance-equity/:
    get:
      tags:
        - Accounts
      summary: Get balance, equity and reporting fields for accounts
      description: >-
        Returns paginated accounts for end-of-day reporting. By default, returns
        only `ACTIVE` accounts. Pass `?status=FAILED`, another
        AccountStatusChoices value, or `?status=all` to broaden the result set.
        Combine with `?disabled_at_after=` and `?disabled_at_before=` to scope
        results to a window of when the account entered its terminal state (max
        window: 31 days; useful for daily failed-account roll-ups). Staff users
        see all accessible accounts; regular users see only their own.
      operationId: api_accounts_balance_equity_list
      parameters:
        - in: query
          name: disabled_at_after
          schema:
            type: string
            format: date-time
          description: >-
            Return only accounts whose disabled timestamp is at or after this
            ISO 8601 datetime. Combine `*_after` and `*_before` to define a
            window. The maximum window span is 31 days when both bounds are set.
          examples:
            Past24HoursWindowStart:
              value: '2026-05-03T00:00:00Z'
              summary: Past 24 hours window start
        - in: query
          name: disabled_at_before
          schema:
            type: string
            format: date-time
          description: >-
            Return only accounts whose disabled timestamp is at or before this
            ISO 8601 datetime. Combine `*_after` and `*_before` to define a
            window. The maximum window span is 31 days when both bounds are set.
          examples:
            Past24HoursWindowEnd:
              value: '2026-05-04T00:00:00Z'
              summary: Past 24 hours window end
        - name: page
          required: false
          in: query
          description: A page number within the paginated result set.
          schema:
            type: integer
        - name: page_size
          required: false
          in: query
          description: Number of results to return per page.
          schema:
            type: integer
        - in: query
          name: status
          schema:
            type: string
          description: >-
            Filter accounts by status. Accepts any AccountStatusChoices value
            (e.g. ACTIVE, FAILED, BLOCKED) or the literal 'all' to disable
            filtering. Defaults to ACTIVE when omitted.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedAccountBalanceEquityList'
              examples:
                SuccessResponse-ActiveAccount:
                  value:
                    meta:
                      count: 123
                      page: 1
                      page_size: 20
                      total_pages: 7
                      has_next: true
                      has_previous: false
                      next: https://api.example.org/resources/?page=2
                      previous: null
                    results:
                      - account_id: 101
                        user_id: 50
                        challenge_short_code: '001122'
                        balance: 50000
                        equity: 52500.5
                        broker_type: MATCH_TRADER
                        status: ACTIVE
                        status_reason: null
                        custom_status_reason: null
                        disabled_at: null
                        closed_pnl_today: '120.50'
                        initial_balance: '50000.00'
                        trading_days: 4
                  summary: Active account response
                  description: Default response shape for an ACTIVE account.
                SuccessResponse-FailedAccount:
                  value:
                    meta:
                      count: 123
                      page: 1
                      page_size: 20
                      total_pages: 7
                      has_next: true
                      has_previous: false
                      next: https://api.example.org/resources/?page=2
                      previous: null
                    results:
                      - account_id: 102
                        user_id: 51
                        challenge_short_code: '001123'
                        balance: 47800
                        equity: 47800
                        broker_type: MATCH_TRADER
                        status: FAILED
                        status_reason: DAILY_DRAWDOWN_EXCEEDED
                        custom_status_reason: null
                        disabled_at: '2026-04-30T20:30:00Z'
                        closed_pnl_today: '-2200.00'
                        initial_balance: '50000.00'
                        trading_days: 3
                  summary: Soft-breached account response
                  description: >-
                    Returned when filtering with `?status=FAILED` (or
                    `?status=all`). `status_reason` carries the enum needed to
                    detect a daily-loss-limit soft breach without an extra
                    per-account call.
                SuccessResponse-Empty:
                  value:
                    meta:
                      count: 123
                      page: 1
                      page_size: 20
                      total_pages: 7
                      has_next: true
                      has_previous: false
                      next: https://api.example.org/resources/?page=2
                      previous: null
                    results:
                      - []
                  summary: No accounts match
                  description: Response when no accounts match the filter.
          description: ''
      security:
        - tokenAuth: []
components:
  schemas:
    PaginatedAccountBalanceEquityList:
      type: object
      required:
        - meta
        - results
      properties:
        meta:
          type: object
          required:
            - count
            - page
            - page_size
            - total_pages
            - has_next
            - has_previous
            - next
            - previous
          description: >-
            Pagination metadata. Use `has_next`/`has_previous` for boolean page
            checks and `next`/`previous` for page URLs.
          example:
            count: 123
            page: 1
            page_size: 20
            total_pages: 7
            has_next: true
            has_previous: false
            next: https://api.example.org/resources/?page=2
            previous: null
          properties:
            count:
              type: integer
              example: 123
              description: Total number of items matching the request.
            page:
              type: integer
              example: 1
              description: Current 1-indexed page number.
            page_size:
              type: integer
              example: 20
              description: Number of items returned per page.
            total_pages:
              type: integer
              example: 7
              description: Total number of pages available.
            has_next:
              type: boolean
              example: true
              description: Whether another page is available after this one.
            has_previous:
              type: boolean
              example: false
              description: Whether a page is available before this one.
            next:
              type: string
              nullable: true
              format: uri
              example: http://api.example.org/accounts/?page=2
              description: URL for the next page, or null on the final page.
            previous:
              type: string
              nullable: true
              format: uri
              example: null
              description: URL for the previous page, or null on the first page.
        results:
          type: array
          items:
            $ref: '#/components/schemas/AccountBalanceEquity'
    AccountBalanceEquity:
      type: object
      properties:
        account_id:
          type: integer
        user_id:
          type: integer
        challenge_short_code:
          type: string
          nullable: true
        balance:
          type: number
          format: double
        equity:
          type: number
          format: double
        broker_type:
          type: string
        status:
          $ref: '#/components/schemas/Status293Enum'
        status_reason:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/StatusReasonEnum'
            - $ref: '#/components/schemas/NullEnum'
        custom_status_reason:
          type: string
          nullable: true
        disabled_at:
          type: string
          format: date-time
          nullable: true
        closed_pnl_today:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,2})?$
          nullable: true
        initial_balance:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,2})?$
        trading_days:
          type: integer
      required:
        - account_id
        - balance
        - broker_type
        - challenge_short_code
        - closed_pnl_today
        - custom_status_reason
        - disabled_at
        - equity
        - initial_balance
        - status
        - status_reason
        - trading_days
        - user_id
    Status293Enum:
      enum:
        - PENDING_ACTIVATION
        - ACTIVE
        - PASSED
        - FAILED
        - BLOCKED
        - DELETED
        - LIVE_VERIFICATION
        - KYC_VERIFICATION_REQD
        - PHASE_VERIFICATION_REQD
        - PAUSED
        - SUBSCRIPTION_EXPIRED
        - PAYMENT_REQUESTED
      type: string
      description: |-
        * `PENDING_ACTIVATION` - Pending Activation
        * `ACTIVE` - Active
        * `PASSED` - Passed
        * `FAILED` - Failed
        * `BLOCKED` - Blocked
        * `DELETED` - Deleted
        * `LIVE_VERIFICATION` - Live Account Verification Required
        * `KYC_VERIFICATION_REQD` - KYC Verification Required
        * `PHASE_VERIFICATION_REQD` - Phase Verification Required
        * `PAUSED` - PAUSED
        * `SUBSCRIPTION_EXPIRED` - Subscription Expired
        * `PAYMENT_REQUESTED` - Payment Requested
    StatusReasonEnum:
      enum:
        - DAILY_DRAWDOWN_EXCEEDED
        - MAX_DRAWDOWN_EXCEEDED
        - FLOATING_PNL_EXCEEDED
        - PROFIT_TARGET_REACHED
        - ACCOUNT_EXPIRED
        - TRADING_STRATEGY_NOT_SUITABLE
        - COPY_TRADING_DETECTED
        - RULE_BREACHED
        - WITHDRAWAL_REQUESTED
        - CHALLENGE_RESET
        - SUBSCRIPTION_EXPIRED
      type: string
      description: >-
        * `DAILY_DRAWDOWN_EXCEEDED` - Daily drawdown limit exceeded

        * `MAX_DRAWDOWN_EXCEEDED` - Maximum drawdown limit exceeded

        * `FLOATING_PNL_EXCEEDED` - Floating PNL limit exceeded

        * `PROFIT_TARGET_REACHED` - Profit target completed

        * `ACCOUNT_EXPIRED` - Account expired

        * `TRADING_STRATEGY_NOT_SUITABLE` - Trading strategy does not suit our
        Organization

        * `COPY_TRADING_DETECTED` - Copy trading detected

        * `RULE_BREACHED` - Rule Breached

        * `WITHDRAWAL_REQUESTED` - Withdrawal Requested

        * `CHALLENGE_RESET` - Challenge Reset

        * `SUBSCRIPTION_EXPIRED` - Subscription Expired
    NullEnum:
      enum:
        - null
  securitySchemes:
    tokenAuth:
      type: apiKey
      in: header
      name: Authorization
      description: Token-based authentication with required prefix "Token"

````

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