# Account Upgrade Pending

**Webhook:** `AccountUpgradePending`

Triggered when an account becomes eligible for an upgrade to the next program step, but the upgrade is pending for further action - needs manual approval. This webhook is useful for alerting admins, prompting backend processes, or showing upgrade status on the user dashboard.

```json
{
  "webhookType"          : "AccountUpgradePending",
  "testMode"             : false,
  "userId"               : "<user_id>",
  "userFirstname"        : "<user_firstname>",
  "userLastname"         : "<user_lastname>",
  "userEmail"            : "<user_email>",
  "userCountryCode"      : "<user_country>",
  "programId"            : "<program_id>",
  "programName"          : "<program_name>",
  "accountId"            : "<account_id>",
  "accountLogin"         : "<account_login>",
  "upgradeTimestamp"     : "<upgrade_timestamp>",
  "nextProgramId"        : "<program_id>",
  "nextProgramName"      : "<program_name>"
}
```

## Payload Structure

| Field              | Type    | Description                                                                                                   |
| ------------------ | ------- | ------------------------------------------------------------------------------------------------------------- |
| `webhookType`      | String  | Type of webhook event. Always `AccountUpgradePending` for this webhook.                                       |
| `testMode`         | Boolean | Flag to indicate whether this payload is a test `true` or live `false`. Currently, only `false` is supported. |
| `userId`           | String  | Unique identifier for the user within YourPropFirm SaaS platform.                                             |
| `userFirstname`    | String  | First name of the user.                                                                                       |
| `userLastname`     | String  | Last name of the user.                                                                                        |
| `userEmail`        | String  | Email address of the user, also the user unique identifier for authentication.                                |
| `userCountryCode`  | String  | ISO 3166-1 alpha-2 country code (e.g., `US`, `SG`, `GB`) of the user’s address.                               |
| `programId`        | String  | Unique identifier for the trading program or plan the user enrolled in.                                       |
| `programName`      | String  | Display name of the trading program of the user joined.                                                       |
| `accountId`        | String  | Internal ID used to reference the created trading account.                                                    |
| `accountLogin`     | String  | Login ID or number for accessing the trading account on the platform.                                         |
| `upgradeTimestamp` | String  | ISO 8601. Timestamp to when the upgrade occurred (e.g., `2025-04-29T12:30:00Z`).                              |
| `nextProgramId`    | String  | Unique identifier for the trading program the account is being upgraded to.                                   |
| `nextProgramName`  | String  | Display name of the trading program the account is being upgraded to.                                         |
