DeliveryUpdate
A simulated transfer delivery update (Sandbox).
Operations
Every route this entity exposes. Each route links to its own reference on this page.
| Method | Route | SDK operation | Returns |
|---|---|---|---|
POST |
/simulation/transfers/{transferId}/delivery-update |
create |
Observation accepted for asynchronous webhook processing |
Examples
One example per SDK, generated from the API model. The argument names are the parameters and fields of this entity, and the values are placeholders. The examples are not compiled or executed.
Golang
Construct client as shown in the Golang setup, then call the operations:
created, err := client.DeliveryUpdate(nil).Create(map[string]any{"transfer_id": 1, "delivery_update": "example", "delivery_update_path": []any{}}, nil)
if err != nil {
panic(err)
}
fmt.Println(created)
Lua
Construct client as shown in the Lua setup, then call the operations:
local created, err = client:DeliveryUpdate():create({ transfer_id = 1, delivery_update = "example", delivery_update_path = {} })
PHP
Construct client as shown in the PHP setup, then call the operations:
$created = $client->DeliveryUpdate()->create(["transfer_id" => 1, "delivery_update" => "example", "delivery_update_path" => []]);
Python
Construct client as shown in the Python setup, then call the operations:
created = client.DeliveryUpdate().create({ "transfer_id": 1, "delivery_update": "example", "delivery_update_path": [] })
Ruby
Construct client as shown in the Ruby setup, then call the operations:
created = client.DeliveryUpdate.create({ "transfer_id" => 1, "delivery_update" => "example", "delivery_update_path" => [] })
TypeScript
Construct client as shown in the TypeScript setup, then call the operations:
const created = await client.DeliveryUpdate().create({ transfer_id: 1, delivery_update: "example", delivery_update_path: [] })
Fields
| Field | Type | Required | Description |
|---|---|---|---|
delivery_update |
string |
Yes | The delivery signal to simulate. |
delivery_update_path |
array |
Yes | Delivery signals supported by the simulated route, not a history of events. |
estimated_delivery_at |
one,string,null |
No | Optional estimated delivery time. |
observation_id |
string |
Yes | Server-generated observation identifier. |
occurred_at |
string |
Yes | Server-generated observation time in UTC with millisecond precision. |
scheme |
one,string,null |
No | Payment scheme to include in the observation. |
create
POST /simulation/transfers/{transferId}/delivery-update
Operation ID: simulationTransferDeliveryUpdate.
Authentication: bearer token (UserToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
transferId |
path |
integer (int64) |
Yes | The ID of the transfer to simulate. The caller must have access to this transfer. |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Request body
application/json
| Property | Type | Required | Description |
|---|---|---|---|
delivery_update |
enum: partner_accepted, recipient_provider_accepted, scheme_settled, account_credited, funds_available |
Yes | The delivery signal to simulate. Must be a member of delivery_update_path, but need not be its last item. |
delivery_update_path |
array of enum: partner_accepted, recipient_provider_accepted, scheme_settled, account_credited, funds_available |
Yes | Delivery signals supported by the simulated route, not a history of events. Select one or more distinct values in this progression order: partner_accepted, recipient_provider_accepted, scheme_settled, account_credited, funds_available. Values may be skipped. The service validates the order and requires this array to contain delivery_update. |
estimated_delivery_at |
string,null (date-time) |
No | Optional estimated delivery time. May be omitted or null. Published timestamps are truncated to milliseconds. |
scheme |
enum: sepa_instant_credit_transfer, null |
No | Payment scheme to include in the observation. May be omitted or null. |
Responses
200: Observation accepted for asynchronous webhook processing
application/json
| Property | Type | Required | Description |
|---|---|---|---|
observation_id |
string (uuid) |
Yes | Server-generated observation identifier. Matches data.observation_id in the webhook. |
occurred_at |
string (date-time) |
Yes | Server-generated observation time in UTC with millisecond precision. Matches data.occurred_at in the webhook. |
Example response:
{
"observation_id": "550e8400-e29b-41d4-a716-446655440000",
"occurred_at": "2026-10-01T10:00:00.123Z"
}
400: Invalid request. Malformed input and domain validation return a single error; field validation can return an errors array
application/json
The response is object or object.
401: Authentication is missing or invalid
403: Access denied by the authentication or authorization policy
404: Transfer does not exist or is not accessible to the caller
application/json
| Property | Type | Required | Description |
|---|---|---|---|
errors |
array of object |
Yes | |
errors[].arguments |
array of string |
No | Arguments associated with the error. |
errors[].code |
string |
Yes | Error code. |
errors[].message |
string |
No | Description of the error, when available. |
errors[].path |
string |
No | Field associated with a validation error, when available. |
Example response:
{
"errors": [
{
"arguments": [],
"code": "transfer_not_found",
"message": "Transfer not found"
}
]
}
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
500: Internal error while processing the simulation
application/json
The response is object or object.
503: Simulation temporarily unavailable because a required dependency or transfer routing is unavailable
application/json
| Property | Type | Required | Description |
|---|---|---|---|
errors |
array of object |
Yes | |
errors[].arguments |
array of string |
No | Arguments associated with the error. |
errors[].code |
string |
Yes | Error code. |
errors[].message |
string |
No | Description of the error, when available. |
errors[].path |
string |
No | Field associated with a validation error, when available. |
Example response:
{
"errors": [
{
"arguments": [],
"code": "service_unavailable",
"message": "The simulation is temporarily unavailable. Please try again."
}
]
}