---
title: "User state change"
method: POST
path: "users#state-change"
tags: ["webhook-event", "user"]
---

# User state change

`POST users#state-change` (webhook)

Triggered every time a user's state is updated.
See the [Webhooks guide](/guides/developer/webhooks) for setup instructions, signature verification, and best practices.

Events may not be delivered in the order they occurred. Use `data.occurred_at` to reconcile the order.
See the [Event Ordering](/guides/developer/webhooks/event-ordering) guide for details.

* Event type: `users#state-change`
* Profile level subscriptions: Not Supported
* Application level subscriptions: Supported

**User state change transitions**

The possible `previous_state` and `current_state` values are:
- `ACTIVE` - The user's account is active.
- `WITHDRAW_ONLY` - The user has 90 calendar days to remove their money from their balance before we fully close their account. This can be done through sending from their balance to themselves and others or spending with their card. The user will still be able to order new cards, convert between balances, open and close balances, and download balance statements. After 90 calendar days, the account will move into a `DEACTIVATED` state.
- `DEACTIVATED` - The user's account is deactivated and they will not be able to perform any actions on their account. The end-user tokens will be revoked and you will receive a `401 Unauthorized` response for API calls.

{% img src="/images/diagrams/user-deactivation-flow.png" alt="User state change flow diagram" /%}

## Headers

- `X-Signature-SHA256` string
- `X-Delivery-Id` string, uuid
- `X-Test-Notification` boolean

## Payload

- union
  - V40018
    - `schema_version` '4.0.0' — Version of the event schema. Determined by the `schema_version` on your [webhook subscription](/api-reference/webhook).
    - `subscription_id` string, uuid — ID of the webhook subscription that triggered this event
    - `event_type` string — Event type identifier
    - `sent_at` string, date-time — Timestamp when the event was sent
    - `data` object
      - `resource` object
        - `id` integer — ID of the user
        - `type` string — Resource type (always `user`)
      - `previous_state` 'ACTIVE' | 'WITHDRAW_ONLY' | 'DEACTIVATED'
      - `current_state` 'ACTIVE' | 'WITHDRAW_ONLY' | 'DEACTIVATED' — The current state of the user
      - `deactivation_type` 'ACCOUNT_SUSPENSION' | 'ACCOUNT_CLOSURE' — If the type is `ACCOUNT_SUSPENSION`, it is possible for your customer support teams to appeal the deactivation by reaching out to Wise.
      - `deactivation_reason` string — The reason for deactivation
      - `occurred_at` string, date-time — When the user state change occurred
  - V20018
    - `schema_version` '2.0.0' — Version of the event schema. Determined by the `schema_version` on your [webhook subscription](/api-reference/webhook).
    - `subscription_id` string, uuid — ID of the webhook subscription that triggered this event
    - `event_type` string — Event type identifier
    - `sent_at` string, date-time — Timestamp when the event was sent
    - `data` object
      - `resource` object
        - `id` integer — ID of the user
        - `type` string — Resource type (always `user`)
      - `previous_state` 'ACTIVE' | 'WITHDRAW_ONLY' | 'DEACTIVATED'
      - `current_state` 'ACTIVE' | 'WITHDRAW_ONLY' | 'DEACTIVATED' — The current state of the user
      - `deactivation_type` 'ACCOUNT_SUSPENSION' | 'ACCOUNT_CLOSURE' — If the type is `ACCOUNT_SUSPENSION`, it is possible for your customer support teams to appeal the deactivation by reaching out to Wise.
      - `deactivation_reason` string — The reason for deactivation
      - `occurred_at` string, date-time — When the user state change occurred

## Acknowledgement `200`

Return any `2xx` status to acknowledge receipt of the event.

- object
  - `status` string

---

[API](https://skmtc.dev/wise/apis/platform-api.md) · [All operations](https://skmtc.dev/wise/apis/platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/wise/platform-api/revisions/f3e7a0f6519a/schema)
