# Invalid status change

Invalid status change attempted

---

## Example

```json
{
  "error": {
    "type": "request_error",
    "code": "transaction_invalid_status_change",
    "detail": "Invalid attempt to change status from 'draft' to 'past_due'",
    "documentation_url": "https://developer.paddle.com/errors/transactions/transaction_invalid_status_change"
  },
  "meta": {
    "request_id": "00000000-0000-0000-0000-000000000000"
  }
}
```

## Details

| Attribute | Value |
| --- | --- |
| Status code | 400 |
| Error code | `transaction_invalid_status_change` |
| Error message | Invalid attempt to change status from '%s' to '%s' |

## Common causes

- You are attempting to set the transaction status to past_due
- You are attempting to set the transaction status to canceled when it is not ready or billed
- You are attempting to set the transaction status to completed

## Common solutions

- If you are attempting to cancel a transaction, ensure current status is not completed
- If you are attempting to set transaction to billed, ensure current status is ready
- All other status changes are automatic
