---
id: "T:cAlgo.API.PendingOrderCancellationReason"
kind: "enum"
namespace: "cAlgo.API"
url: "https://help.ctrader.com/ctrader-algo/references/Trading/Orders/PendingOrderCancellationReason/"
---

> Documentation index for agents: https://help.ctrader.com/ctrader-algo/llms.txt · machine index: https://help.ctrader.com/ctrader-algo/api.json

# PendingOrderCancellationReason (enum)

The reason for the order cancellation.

Environments: Desktop supported · CLI supported · Cloud supported.

## Definition

```csharp
public enum PendingOrderCancellationReason
```

## Examples

C#:

```csharp
using cAlgo.API;

namespace cAlgo.Robots
{
    // This sample shows how to use PendingOrderCancellationReason
    public partial class PendingOrderCancellationReasonSample : Robot
    {
        protected override void OnStart()
        {
            PendingOrders.Cancelled += PendingOrders_Cancelled;
        }

        private void PendingOrders_Cancelled(PendingOrderCancelledEventArgs obj)
        {
            Print(obj.Reason);

            switch (obj.Reason)
            {
                case PendingOrderCancellationReason.Cancelled:
                    // Do something if order cancelled
                    break;

                case PendingOrderCancellationReason.Expired:
                    // Do something if order expired
                    break;

                case PendingOrderCancellationReason.Rejected:
                    // Do something if order rejected
                    break;
            }
        }
    }
}
```

Python:

```python
import clr

clr.AddReference("cAlgo.API")

# Import cAlgo API types
from cAlgo.API import *

# Import trading wrapper functions
from robot_wrapper import *

class Test():
    def on_start(self):
        api.PendingOrders.Cancelled += self.on_pending_orders_cancelled

    def on_pending_orders_cancelled(self, args):
        cancelledOrder = args.PendingOrder
        cancellationReason = args.Reason
        api.Print(f"cancelledOrder: {cancelledOrder.Id} | cancellationReason: {cancellationReason}")
```

config.json:

```json
{
  "AccessRights": "None",
  "TimeZone": "UTC"
}
```

## Values

- `PendingOrderCancellationReason.Cancelled` — THe order was cancelled by trader.
- `PendingOrderCancellationReason.Expired` — The order was cancelled due to expiration.
- `PendingOrderCancellationReason.Rejected` — The order fill was rejected and the order was cancelled.

