# Account details order state change

The event contains information about the order state and requirement state. Triggered when there is a change in the state of an account details order.
* Event type: `account-details-order#order-state-change`
* Profile level subscriptions: Not Supported
* Application level subscriptions: Supported

Possible values for an order:
- `PENDING_USER`: One or more requirements has some pending action from the user.
- `PENDING_TW`: One or more requirements has some pending action from Wise.
- `REQUIREMENTS_FULFILLED`: All requirements are completed and pending account details to be created.
- `DONE`: All requirements are completed and account details has also been created.

Most common requirements:
- `VERIFICATION`: The user needs to be fully verified before completing this requirement.

Events may not be delivered in the order they occurred. Use `data.modification_time` to reconcile the order.
See the [Event ordering guide](/guides/developer/webhooks/event-ordering) for details.
See the [Webhooks guide](/guides/developer/webhooks) for setup instructions, signature verification, and best practices.

Endpoint: POST account-details-order#order-state-change

## Header parameters:

  - `X-Signature-SHA256` (string)
    RSA-SHA256 signature of the request body, Base64 encoded. Verify this against the [Wise public key](/guides/developer/webhooks/event-handling#requests) to ensure the request is authentic and has not been tampered with.

  - `X-Delivery-Id` (string)
    Unique identifier for this webhook delivery attempt.

  - `X-Test-Notification` (boolean)
    Present with the value `true` if this is a test notification sent to verify your callback URL during subscription setup.

## Request fields (application/json):

  - `schema_version` (string)
    Version of the event schema. Determined by the `schema_version` on your [webhook subscription](/api-reference/legacy/webhook).
    Enum: "4.0.0"

  - `subscription_id` (string)
    ID of the webhook subscription that triggered this event.
    Example: 01989c58-7171-7276-9a4c-c9b4cefc0897

  - `event_type` (string)
    Event type identifier
    Example: account-details-order#order-state-change

  - `sent_at` (string)
    Timestamp when the event was sent.
    Example: 2025-08-08T07:49:31.123Z

  - `data` (object)

  - `data.creation_time` (string)
    When the order was created.
    Example: 2025-08-08T07:49:27.456Z

  - `data.currency` (string)
    Currency code for the account details order.
    Example: CAD

  - `data.is_account_details_issued` (boolean)
    Whether account details have been issued for this order.
    Example: false

  - `data.modification_time` (string)
    When the order was last modified.
    Example: 2025-08-08T07:49:30.789Z

  - `data.order_id` (string)
    Unique identifier for the account details order.
    Example: 01989c58-45e4-71dd-9373-7d999e992f99

  - `data.order_status` (string)
    Current status of the order
    Enum: "PENDING_USER", "PENDING_TW", "REQUIREMENTS_FULFILLED", "DONE"

  - `data.profile_id` (integer)
    ID of the profile associated with this order.
    Example: 28835473

  - `data.requirements` (array)
    List of requirements for this order.

  - `data.requirements.status` (string)
    Status of the individual requirement (`"DONE"`, `"PENDING"`, etc.)
    Example: DONE

  - `data.requirements.type` (string)
    Type of requirement (`"VERIFICATION"`)
    Example: VERIFICATION

## Response 200 fields (application/json):

  - `status` (string)
    Example: ok

