> ## 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.

# List Challenges

> Returns a paginated list of Challenges for your firm, including nested phases, allowed exchange limits, and individual symbol limits.



## OpenAPI

````yaml /openapi.json get /api/challenges/
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/challenges/:
    get:
      tags:
        - Challenge
      summary: List Challenges
      description: >-
        Returns a paginated list of Challenges for your firm, including nested
        phases, allowed exchange limits, and individual symbol limits.
      operationId: api_challenges_list
      parameters:
        - 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
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedChallengeWithPhasesList'
          description: ''
      security:
        - tokenAuth: []
components:
  schemas:
    PaginatedChallengeWithPhasesList:
      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/ChallengeWithPhases'
    ChallengeWithPhases:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        short_code:
          type: string
          readOnly: true
          nullable: true
          description: Short code used by OMS and account surfaces for this challenge.
        prop_firm_slug:
          type: string
          readOnly: true
          nullable: true
        phases:
          type: array
          items:
            $ref: '#/components/schemas/PhaseWithChallengeDetails'
          readOnly: true
        allowed_exchanges:
          type: string
          readOnly: true
        allowed_symbols:
          type: string
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        title:
          type: string
          maxLength: 100
        description:
          type: string
        swap_mode:
          allOf:
            - $ref: '#/components/schemas/SwapModeEnum'
          default: NORMAL
        steps:
          type: integer
          maximum: 5
          minimum: 0
          nullable: true
        product_id:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
        broker_type:
          allOf:
            - $ref: '#/components/schemas/BrokerTypeEnum'
          default: MatchTrade
        global_drawdown_type:
          allOf:
            - $ref: '#/components/schemas/GlobalDrawdownTypeEnum'
          default: STATIC
        global_drawdown_threshold:
          type: string
          format: decimal
          pattern: ^-?\d{0,6}(?:\.\d{0,2})?$
          nullable: true
          default: '1.00'
        global_drawdown_threshold_usd_currency:
          type: string
          readOnly: true
        global_drawdown_threshold_usd:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,2})?$
          default: '0.00'
        lock_drawdown_withdrawal:
          type: boolean
          default: true
        lock_trailing_drawdown:
          type: boolean
          default: false
        max_trailing_drawdown_limit_currency:
          type: string
          readOnly: true
          nullable: true
        max_trailing_drawdown_limit:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,2})?$
          nullable: true
        activation_fee_product_id:
          type: string
          nullable: true
        soft_breach:
          type: boolean
          default: false
        no_activation_fee:
          type: boolean
          default: false
        initial_balance_currency:
          type: string
          readOnly: true
        initial_balance:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,2})?$
          default: '0.00'
        is_free_trial:
          type: boolean
          default: false
        is_competition:
          type: boolean
          default: false
        news_trading_enabled:
          type: boolean
          default: false
        archived:
          type: boolean
          default: false
        profit_split:
          type: string
          format: decimal
          pattern: ^-?\d{0,1}(?:\.\d{0,4})?$
          nullable: true
        minimum_profit_type:
          nullable: true
          default: ABSOLUTE
          oneOf:
            - $ref: '#/components/schemas/MinimumProfitTypeEnum'
            - $ref: '#/components/schemas/BlankEnum'
            - $ref: '#/components/schemas/NullEnum'
        minimum_profit:
          type: string
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,3})?$
          nullable: true
        maximum_profit_type:
          nullable: true
          default: ABSOLUTE
          oneOf:
            - $ref: '#/components/schemas/MaximumProfitTypeEnum'
            - $ref: '#/components/schemas/BlankEnum'
            - $ref: '#/components/schemas/NullEnum'
        maximum_profit:
          type: string
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,3})?$
          nullable: true
        partial_payout:
          type: boolean
          default: false
        default_max_order_size:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          nullable: true
        max_position_size_account:
          type: string
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,3})?$
          nullable: true
        prop_firm:
          type: string
          format: uuid
      required:
        - allowed_exchanges
        - allowed_symbols
        - created
        - description
        - global_drawdown_threshold_usd_currency
        - id
        - initial_balance_currency
        - max_trailing_drawdown_limit_currency
        - modified
        - phases
        - prop_firm
        - prop_firm_slug
        - short_code
        - title
    PhaseWithChallengeDetails:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        prop_firm_slug:
          type: string
          readOnly: true
          nullable: true
        initial_balance:
          type: string
          readOnly: true
          description: >-
            Phase-level starting balance amount, or null when the challenge
            default applies.
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        title:
          type: string
          maxLength: 100
        description:
          type: string
        step:
          type: integer
          maximum: 5
          minimum: 0
        live:
          type: boolean
          default: false
        global_drawdown_type:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/GlobalDrawdownTypeEnum'
            - $ref: '#/components/schemas/BlankEnum'
            - $ref: '#/components/schemas/NullEnum'
        global_drawdown_threshold:
          type: string
          format: decimal
          pattern: ^-?\d{0,6}(?:\.\d{0,2})?$
          nullable: true
        global_drawdown_threshold_usd_currency:
          type: string
          readOnly: true
          nullable: true
        global_drawdown_threshold_usd:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,2})?$
          nullable: true
        lock_drawdown_withdrawal:
          type: boolean
          nullable: true
        lock_trailing_drawdown:
          type: boolean
          nullable: true
        max_trailing_drawdown_limit_currency:
          type: string
          readOnly: true
          nullable: true
        max_trailing_drawdown_limit:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,2})?$
          nullable: true
        max_trailing_drawdown_limit_interpretation:
          nullable: true
          default: offset
          oneOf:
            - $ref: '#/components/schemas/MaxTrailingDrawdownLimitInterpretationEnum'
            - $ref: '#/components/schemas/BlankEnum'
            - $ref: '#/components/schemas/NullEnum'
        soft_breach:
          type: boolean
          nullable: true
        target_profit:
          type: string
          format: decimal
          pattern: ^-?\d{0,1}(?:\.\d{0,5})?$
          nullable: true
        daily_drawdown:
          type: string
          format: decimal
          pattern: ^-?\d{0,1}(?:\.\d{0,4})?$
          nullable: true
        daily_drawdown_usd_currency:
          type: string
          readOnly: true
        daily_drawdown_usd:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,2})?$
          default: '0.00'
        check_daily_drawdown:
          type: boolean
          default: true
        maximum_drawdown:
          type: string
          format: decimal
          pattern: ^-?\d{0,1}(?:\.\d{0,4})?$
          nullable: true
        maximum_drawdown_usd_currency:
          type: string
          readOnly: true
        maximum_drawdown_usd:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,2})?$
          default: '0.00'
        trading_period_days:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          default: 0
          title: Total Trading Days
          description: Number of days before the account expires
        leverage:
          type: string
          format: decimal
          pattern: ^-?\d{0,3}(?:\.\d{0,2})?$
          nullable: true
        scaling_plan:
          type: boolean
          default: false
        minimum_trading_days:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          nullable: true
        consistency_percentage:
          type: string
          format: decimal
          pattern: ^-?\d{0,1}(?:\.\d{0,4})?$
          nullable: true
        auto_pass:
          type: boolean
          default: true
        eod_flatten:
          type: boolean
          default: false
          title: Auto-flatten positions before market close
        matchtrader_offer_id:
          type: string
          nullable: true
          maxLength: 500
        metatrader_group_id:
          type: string
          nullable: true
          maxLength: 500
        metatrader5_group_id:
          type: string
          nullable: true
          maxLength: 500
        tradelocker_group_id:
          type: string
          nullable: true
          maxLength: 500
        ctrader_group_id:
          type: string
          nullable: true
          maxLength: 500
        volumetrica_groupUniverseId:
          type: string
          nullable: true
          maxLength: 500
        sim2funded_account_template:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
        tradovate_account_template:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
        volumetric_account_ruleID:
          type: string
          nullable: true
        tradovateTrailingMaxDrawdownMode:
          allOf:
            - $ref: '#/components/schemas/TradovateTrailingMaxDrawdownModeEnum'
          default: EOD
        prop_firm:
          type: string
          format: uuid
        challenge:
          type: integer
          nullable: true
      required:
        - created
        - daily_drawdown_usd_currency
        - description
        - global_drawdown_threshold_usd_currency
        - id
        - initial_balance
        - max_trailing_drawdown_limit_currency
        - maximum_drawdown_usd_currency
        - modified
        - prop_firm
        - prop_firm_slug
        - step
        - title
    SwapModeEnum:
      enum:
        - NORMAL
        - SWAP_FREE
      type: string
      description: |-
        * `NORMAL` - Normal
        * `SWAP_FREE` - Swap Free
    BrokerTypeEnum:
      enum:
        - ALL
        - MatchTrade
        - MetaTrader
        - TradeLocker
        - MetaTrader5
        - Ctrader
        - Sim2Funded
        - Tradovate
        - Volumetrica
        - Tickblaze
        - TickblazeOMS
      type: string
      description: |-
        * `ALL` - Do not filter
        * `MatchTrade` - Match Trader
        * `MetaTrader` - MetaTrader
        * `TradeLocker` - TradeLocker
        * `MetaTrader5` - MetaTrader5
        * `Ctrader` - Ctrader
        * `Sim2Funded` - Sim2Funded
        * `Tradovate` - Tradovate
        * `Volumetrica` - Volumetrica
        * `Tickblaze` - Tickblaze
        * `TickblazeOMS` - TickblazeOMS
    GlobalDrawdownTypeEnum:
      enum:
        - STATIC
        - TRAILING
        - EOD
      type: string
      description: |-
        * `STATIC` - Static
        * `TRAILING` - Trailing
        * `EOD` - End of Day
    MinimumProfitTypeEnum:
      enum:
        - ABSOLUTE
        - PERCENTAGE
      type: string
      description: |-
        * `ABSOLUTE` - Absolute
        * `PERCENTAGE` - Percentage
    BlankEnum:
      enum:
        - ''
    NullEnum:
      enum:
        - null
    MaximumProfitTypeEnum:
      enum:
        - ABSOLUTE
        - PERCENTAGE
      type: string
      description: |-
        * `ABSOLUTE` - Absolute
        * `PERCENTAGE` - Percentage
    MaxTrailingDrawdownLimitInterpretationEnum:
      enum:
        - absolute
        - offset
      type: string
      description: |-
        * `absolute` - Absolute
        * `offset` - Offset
    TradovateTrailingMaxDrawdownModeEnum:
      enum:
        - EOD
        - RealTime
      type: string
      description: |-
        * `EOD` - EOD
        * `RealTime` - RealTime
  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.