---
title: "Simulate transfer payout failure"
method: POST
path: "/v1/simulation/transfers/{transferId}/payout-failure"
tags: ["simulation"]
---

# Simulate transfer payout failure

`POST /v1/simulation/transfers/{transferId}/payout-failure`

Triggers transfers#payout-failure webhook for the transfer.

The available payout failure reason codes are listed in the [transfers#payout-failure webhook guide](/guides/product/send-money/tracking/payout-failures).

{% admonition type="info" %}
- Simulation requires transfer to be in `bounced_back` state.
- While payout failure simulation call will respond with 200 in real time, the payout failure webhook is asynchronous.
{% /admonition %}

Request body is optional; omit it or send {} to trigger a random failure reason.

## Path parameters

- `transferId` integer, required

## Headers

- `X-External-Correlation-Id` string, uuid

## Request body

- object
  - `failure_reason_code` string — Failure reason code to trigger for payout failure. When not provided, a failure code is selected at random and returned.

## Response `200`

Successful initiation of payout failure.

## Other responses

- `400` — Bad request - invalid input or transfer state
- `429` — Rate limit exceeded. Retry after the number of seconds specified in the `Retry-After` header.
- `500` — Internal server error

---

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