> ## Documentation Index
> Fetch the complete documentation index at: https://pamm-api.codench.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Asynchronous operations

> Confirm delayed PAMM effects without duplicating financial commands.

An HTTP success confirms that the synchronous portion was accepted or completed. Some effects on the Master depend on downstream MT5 events and can appear seconds later.

## Operations that require observation

| Command  | Immediate result                              | Later effect to confirm                                       |
| -------- | --------------------------------------------- | ------------------------------------------------------------- |
| Assign   | Subscription becomes `ACTIVE`                 | Initial Investor balance is reflected in the Master.          |
| Deposit  | Investor receives the credit                  | Operating balance is reflected in the Master.                 |
| Withdraw | Investor withdrawal and fee processing return | Corresponding Master adjustment completes.                    |
| Unassign | Subscription may become `PAUSED`              | Exit synchronization completes and state becomes `CANCELLED`. |

## Polling strategy

Use these read endpoints after state-changing operations:

* `GET /api/v1/info/subscriptions` for `ACTIVE`, `PAUSED`, and `CANCELLED`;
* `GET /api/v1/info/balance/{mt5_login}` for current MT5 balances;
* `GET /api/v1/info/investor/{investor_login}/master` for the active relationship;
* performance fee queries for payment settlement and reconciliation.

Use bounded polling with a delay between requests. Stop when the required state is reached, when an operation-specific timeout expires, or when a terminal error appears. Record the last known state for support investigation.

<Warning>
  Never interpret `PAUSED` during unassignment as a failure that requires another command. It is an in-progress state; poll the subscription instead.
</Warning>

## Completion conditions

* **Assignment:** subscription is `ACTIVE` and the required balances have converged.
* **Withdrawal:** the response and `mt5_deal_id` have been recorded and balances are reconciled.
* **Unassignment:** subscription is `CANCELLED` and `ended_at` is not null.
* **Weekly fee run:** executed Investor payments reconcile with credits to the payment account.

<CardGroup cols={2}>
  <Card title="Previous: Performance fees" icon="arrow-left" href="/guides/performance-fees">
    Return to fee configuration and reconciliation.
  </Card>

  <Card title="Next: Financial safety" icon="arrow-right" href="/reliability/financial-safety">
    Prevent duplicate or unreconciled money movements.
  </Card>
</CardGroup>
