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

# Bulk reactivate trading accounts

> Reactivate failed accounts so their traders can resume trading. Each account in `account_ids` returns to ACTIVE and its failure reason is cleared. Accounts that aren't currently failed are reported under `skipped` instead of rejecting the whole request, so retries are safe. Set `reset_balance` to restore balance and equity to the account's initial balance. Maximum 500 accounts per request.



## OpenAPI

````yaml /openapi.json post /api/accounts/reactivate/
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/reactivate/:
    post:
      tags:
        - Accounts
      summary: Bulk reactivate trading accounts
      description: >-
        Reactivate failed accounts so their traders can resume trading. Each
        account in `account_ids` returns to ACTIVE and its failure reason is
        cleared. Accounts that aren't currently failed are reported under
        `skipped` instead of rejecting the whole request, so retries are safe.
        Set `reset_balance` to restore balance and equity to the account's
        initial balance. Maximum 500 accounts per request.
      operationId: api_accounts_reactivate_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountBulkReactivateRequest'
            examples:
              Soft-breachEODReset:
                value:
                  account_ids:
                    - 1001
                    - 1002
                    - 1003
                  reason: EOD soft-breach reset
                  reset_balance: false
                summary: End-of-day soft-breach reactivation
                description: >-
                  Reactivate accounts that failed today for
                  DAILY_DRAWDOWN_EXCEEDED so traders resume trading next
                  session. Balance is preserved.
              FreshStartWithBalanceReset:
                value:
                  account_ids:
                    - 2001
                    - 2002
                  reason: Operational reset after platform incident.
                  reset_balance: true
                summary: Reactivate and reset balances
                description: >-
                  Reactivate accounts and reset balance/equity to the initial
                  balance.
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AccountBulkReactivateRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/AccountBulkReactivateRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountBulkReactivateResponse'
              examples:
                Partial-skipResponse:
                  value:
                    reactivated:
                      - account_id: 1001
                        status: ACTIVE
                        challenge_short_code: '001122'
                        balance: '48500.00'
                        reactivated_at: '2026-04-30T22:00:00Z'
                      - account_id: 1002
                        status: ACTIVE
                        challenge_short_code: '001123'
                        balance: '49250.00'
                        reactivated_at: '2026-04-30T22:00:00Z'
                    skipped:
                      - account_id: 1003
                        current_status: ACTIVE
                        reason: not_in_fail_status
                    summary:
                      requested: 3
                      reactivated: 2
                      skipped: 1
                  summary: Two reactivated, one skipped
                  description: >-
                    Account 1003 was already ACTIVE (e.g. a previous retry
                    succeeded). It is skipped, not failed.
          description: ''
      security:
        - tokenAuth: []
components:
  schemas:
    AccountBulkReactivateRequest:
      type: object
      properties:
        account_ids:
          type: array
          items:
            type: integer
            minimum: 1
          description: Account ids to reactivate. Maximum 500 per request.
          maxItems: 500
        reason:
          type: string
          description: Audit-log reason recorded against every reactivated account.
          maxLength: 500
        reset_balance:
          type: boolean
          default: false
          description: >-
            When true, also resets balance, equity and PnL to the account's
            initial balance.
      required:
        - account_ids
        - reason
    AccountBulkReactivateResponse:
      type: object
      properties:
        reactivated:
          type: array
          items:
            $ref: '#/components/schemas/AccountBulkReactivateItem'
        skipped:
          type: array
          items:
            $ref: '#/components/schemas/AccountBulkReactivateSkip'
        summary:
          $ref: '#/components/schemas/AccountBulkReactivateSummary'
      required:
        - reactivated
        - skipped
        - summary
    AccountBulkReactivateItem:
      type: object
      properties:
        account_id:
          type: integer
        status:
          $ref: '#/components/schemas/Status293Enum'
        challenge_short_code:
          type: string
          nullable: true
        balance:
          type: string
          format: decimal
          pattern: ^-?\d{0,14}(?:\.\d{0,2})?$
        reactivated_at:
          type: string
          format: date-time
      required:
        - account_id
        - balance
        - challenge_short_code
        - reactivated_at
        - status
    AccountBulkReactivateSkip:
      type: object
      properties:
        account_id:
          type: integer
        current_status:
          $ref: '#/components/schemas/CurrentStatus293Enum'
        reason:
          $ref: '#/components/schemas/ReasonEnum'
      required:
        - account_id
        - current_status
        - reason
    AccountBulkReactivateSummary:
      type: object
      properties:
        requested:
          type: integer
        reactivated:
          type: integer
        skipped:
          type: integer
      required:
        - reactivated
        - requested
        - skipped
    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
    CurrentStatus293Enum:
      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
    ReasonEnum:
      enum:
        - not_in_fail_status
      type: string
      description: '* `not_in_fail_status` - not_in_fail_status'
  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.