Adjust Cash

### Adjust the cash balance of a demo account. Available to: Organization administrators Environments: Demo Manage the simulated fund balances of your organization's demo accounts. Use this endpoint to top up a trader's balance mid-challenge, set starting balances for new evaluation accounts, or reset a balance after it's been depleted. <Note>If your call returns a 401 "Access is denied" error, contact Evaluation Support to have the `Funds:FullAccess` permission added to your API key.</Note> **Difference Between `adjustCash` and `changeDemoBalance`** The `changeDemoBalance` endpoint is available to all traders and has rate limits to protect against abuse. Because `adjustCash` is restricted to organization administrators with `Funds` permissions, it supports higher throughput and doesn't have a rate limit. `adjustCash` also gives you more control: you can classify the adjustment type, specify the currency, and include an audit comment. **Field Details** The `accountId` must reference an active demo account within your organization. You can look up account IDs using the Query Builder in the Admin Dashboards or via the `/account/list` endpoint. The `currencyId` must correspond to one of the supported currencies: USD, EUR, AUD, GBP, or CAD. Currency IDs are environment-specific. Use the `/currency/list` endpoint to retrieve valid IDs for your environment. **Relevant `cashChangeType` Values** All `CashChangeType` enum values are accepted, but these are the most relevant for typical demo balance management: - `ManualAdjustment`: General-purpose balance changes - `Courtesy`: Goodwill credits - `Debit`: Deductions from an account - `FundTransaction`: Funding-related changes - `ChallengePayout`: Challenge or evaluation payouts **Common Failure Scenarios** - Account is closed or inactive - `accountId` does not exist or does not belong to your organization - `cashChange` is outside the allowed range (must be between -100,000 and 100,000, exclusive) - `comment` exceeds 64 characters - API key is missing `Funds:FullAccess` scope (returns 401) - User is not an organization administrator **Reversing an Adjustment** There is no dedicated undo operation. To reverse a cash adjustment, make another `adjustCash` call with the opposite `cashChange` amount. Use the `comment` field to document the reason and link the reversal to the original entry. <Note> The response includes a full `CashBalanceSnapshot` reflecting the account's updated state. On success, the `errorText` field is absent and all balance fields are populated. </Note>

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Request

This endpoint expects an object.
accountIdlongRequired
The ID of the demo account to adjust. Must be an active account within your organization.
cashChangedoubleRequired-100000-100000

The amount to add or subtract from the account’s cash balance. Positive values increase the balance; negative values decrease it.

cashChangeTypeenumRequired

Classifies the type of cash adjustment. While all values are accepted, ManualAdjustment is recommended for general-purpose balance changes. Other common values include Courtesy, Debit, FundTransaction, and ChallengePayout.

currencyIdlongRequired

The ID of the currency for this adjustment. Supported currencies are USD, EUR, AUD, GBP, and CAD. Use the /currency/list endpoint to retrieve valid IDs for your environment.

commentstringOptional<=64 characters
An optional note describing the reason for the adjustment. Useful for audit trails and linking reversals to original entries.

Response

CashBalanceSnapshot
errorTextstring or null<=8192 characters

Non-empty if the request failed

totalCashValuedouble or null
totalPnLdouble or null
initialMargindouble or null
maintenanceMargindouble or null
netLiqdouble or null
openPnLdouble or null
realizedPnLdouble or null
weekRealizedPnLdouble or null