---
title: "Simulate a transfer state update (Sandbox only)"
method: POST
path: "/sandbox/transactions/{id}/{action}"
tags: ["Simulations"]
---

# Simulate a transfer state update (Sandbox only)

`POST /sandbox/transactions/{id}/{action}`

## Request

- Base URL: `https://sandbox-b2b.revolut.com/api/1.0`
- URL: `https://sandbox-b2b.revolut.com/api/1.0/sandbox/transactions/{id}/{action}`
- Auth: HTTP bearer

Simulate a transfer state change in the Sandbox environment. 

For example, after you make a transfer in Sandbox, you can change its state to `completed`. The resulting state is final and cannot be changed.

For more information, see the guides: [Test your flows with simulations (Sandbox only)](https://developer.revolut.com/docs/guides/manage-accounts/api-usage-and-testing/test-flows-with-simulations).

## Path parameters

- `id` string, uuid, required
- `action` 'complete' | 'revert' | 'decline' | 'fail', required: Indicates the transaction state update. Possible values: - `complete` - Transaction is successfully processed. - `revert` - Transaction is reverted by the system or company, but not the user. This can happen for a variety of reasons, for example, the receiver being inaccessible. - `decline` - Transaction is declined to the user for a good reason, such as insufficient account balance, wrong receiver information, etc. - `fail` - Transaction fails during initiation or completion. This can happen for a variety of reasons, for example, invalid API calls, blocked payments, etc.

## Response `200`

Information about the updated transfer state

- object
  - `id` string, uuid, required: The ID of the transfer whose state was updated.
  - `state` 'completed' | 'reverted' | 'declined' | 'failed', required: Indicates the simulated transaction state. Possible values: - `completed` - Transaction was successfully processed. - `reverted` - Transaction was reverted by the system or company, but not the user. This can happen for a variety of reasons, for example, the receiver being inaccessible. - `declined` - Transaction was declined to the user for a good reason, such as insufficient account balance, wrong receiver information, etc. - `failed` - Transaction failed during initiation or completion. This can happen for a variety of reasons, for example, invalid API calls, blocked payments, etc.
  - `created_at` string, date-time, required: The date and time the transfer was created in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
  - `completed_at` string, date-time: The date and time the transfer was completed in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.

## Other responses

- `default`: Unexpected error

---

[API](https://skmtc.dev/revolut/apis/business-api.md) - [All operations](https://skmtc.dev/revolut/apis/business-api/llms.txt) - [OpenAPI document](https://skmtc.dev/revolut/apis/business-api/revisions/be089d9fa8b4?raw)
