# Allocations state changed

Triggered when a settlement allocation request changes state.
* Event type: `allocations#state-changed`
* Profile level subscriptions: Not supported
* Application level subscriptions: Supported

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

Endpoint: POST allocations#state-changed
Version: 2026Q4

## 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, required)
    Version of the event schema. Determined by the `schema_version` on your [webhook subscription](/api-reference/webhook).
    Enum: "4.0.0"

  - `subscription_id` (string, required)
    ID of the webhook subscription that triggered this event.
    Example: 01234567-89ab-cdef-0123-456789abcdef

  - `event_type` (string, required)
    Event type identifier
    Example: allocations#state-changed

  - `sent_at` (string)
    Timestamp when the event was sent.
    Example: 2020-01-01T12:34:56.123Z

  - `data` (object, required)

  - `data.resource` (object)

  - `data.resource.id` (string)
    Unique identifier of webhook notification

  - `data.resource.event_type` (string)
    Event type identifier.
    Example: funds-allocation-state-change

  - `data.resource.occurred_at` (string)
    Timestamp when the state change occurred.
    Example: 2020-01-01T12:34:56.789Z

  - `data.resource.data` (object)
    Details of the allocation state change.

  - `data.resource.data.id` (string)
    Unique identifier of the settlement allocation request

  - `data.resource.data.paymentReference` (string)
    Reference identifier for the payment.
    Example: payment-ref-12345

  - `data.resource.data.previousState` (string)
    State of a funding allocation.
    Enum: "NEW", "MATCHING_FUNDS", "MATCHED", "MISMATCHED", "PARTIALLY_COMPLETED", "COMPLETED", "CANCELLED"

  - `data.resource.data.clientKey` (string)
    Client key identifying the partner application.
    Example: test-client-key

## Response 200:

  - `200` (unknown)
    Return any `2xx` status to acknowledge receipt of the event.

## Response 200 fields (application/json):

  - `status` (string)
    Example: ok

