> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://partner.ninjatrader.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://partner.ninjatrader.com/_mcp/server.

# Immediate Trading Halts

> Halt trading immediately for a risk category or lock individual accounts

Immediate trading halts take effect as soon as you execute them. Use these when you need to respond to an emergency, a rule breach, a failed evaluation, or a daily loss limit lockout.

You can halt an entire risk category or lock individual accounts.

## Halt an Entire Risk Category

If you need to stop trading right away for all accounts with a given risk category, use Category Halt. Trading stays halted until you manually resume it.

Only use Category Halt for emergencies. For scheduled events like holidays, use [RiskTimePeriod](/overview/prop-firm-management/halt-trading/scheduled-trading-halts) instead.

1. Navigate to **Query Builder** and select **riskCategory** from the Repository dropdown.
2. Use the Default Grid, leave WHERE blank, and set the result limit to 100.
3. Run the query and select the risk category you want to halt.
4. Click **ACTIONS** and select **Halt Trading**.
5. Check the halt setting and click **APPLY**.

Trading stays halted until you return and clear this setting.

To halt trading for all accounts with a risk category, find your risk category IDs by calling `/riskCategory/list`, then use the `setDemoHalt` endpoint:

**Production**: `https://demo.tradovateapi.com/v1/accountRiskStatus/setDemoHalt`<br />
**Development**: `https://demo-api.staging.ninjatrader.dev/v1/accountRiskStatus/setDemoHalt`

Send a POST request with this JSON body:

```json
{
  "halt": true,
  "riskCategoryId": 789
}
```

## Lock and Halt Individual Accounts

Lock an account using [`setAdminAutoLiqAction`](/api/rest-api-endpoints/risks/set-admin-auto-liq-action) when you need to stop trading right away for a single account: for example, responding to a rule breach, managing a failed evaluation, or stopping activity during an account review. Trading stays halted until you [manually unlock the account](#unlock-individual-accounts).

There is no bulk version of [`setAdminAutoLiqAction`](/api/rest-api-endpoints/risks/set-admin-auto-liq-action). You must call the endpoint separately for each account.

An account locked with [`setAdminAutoLiqAction`](/api/rest-api-endpoints/risks/set-admin-auto-liq-action) (either by using the API or using the Admin Dashboard) stays locked until you manually unlock it. It doesn't auto-unlock at the next trading session, it doesn't time out, and it doesn't reset on its own.

To lock an account using the Admin Dashboard:

1. Navigate to **Query Builder** and select **accounts** from the Repository dropdown.
2. Click **Default Grid** button to populate the Select statement if not set, then click **Run Query**.
3. Select an account from the results.
4. Click **Actions** and click **Change Lock**.
5. Select the Action and Reason, providing a Reason Description.
6. Click **Submit**.

To lock an account using the [`setAdminAutoLiqAction` endpoint](/api/rest-api-endpoints/risks/set-admin-auto-liq-action):

**Production**: `https://demo.tradovateapi.com/v1/accountRiskStatus/setAdminAutoLiqAction`<br />
**Development**: `https://demo-api.staging.ninjatrader.dev/v1/accountRiskStatus/setAdminAutoLiqAction`

Send a POST request with this JSON body:

```json
{
  "accountId": 131838,
  "adminAction": "LockTradingImmediately",
  "adminActionReasonCode": "Other",
  "adminActionReason": "Manual Disable"
}
```

### Unlock Individual Accounts

Accounts can get locked for several reasons. For example:

* The account was [manually locked](#lock-and-halt-individual-accounts).
* The account's [post-trade risk settings](/overview/prop-firm-management/risk-management/post-trade-risk) have `doNotUnlock` set to `true` and the user had a daily loss limit breach.

To unlock an account using the Admin Dashboard:

1. Navigate to **Query Builder** and select **accounts** from the Repository dropdown.
2. Click **Default Grid** button to populate the Select statement if not set, then click **Run Query**.
3. Select an account from the results.
4. Click **Actions** and click **Change Lock**.
5. In **Action**, select **Normal**. In **Reason**, select **Other**. In **Reason Description**, provide a description like "Unlock after manual review."
6. Click **Submit**.

To unlock an account using the [`setAdminAutoLiqAction` endpoint](/api/rest-api-endpoints/risks/set-admin-auto-liq-action):

**Production**: `https://demo.tradovateapi.com/v1/accountRiskStatus/setAdminAutoLiqAction`<br />
**Development**: `https://demo-api.staging.ninjatrader.dev/v1/accountRiskStatus/setAdminAutoLiqAction`

Send a POST request with this JSON body:

```json
{
  "accountId": 131838,
  "adminAction": "Normal",
  "adminActionReasonCode": "Other",
  "adminActionReason": "Unlock after manual review"
}
```