---
title: "Simulate a payin"
method: POST
path: "/api/sandbox/simulate/payin"
tags: ["Sandbox"]
---

# Simulate a payin

`POST /api/sandbox/simulate/payin`

Triggers a simulated inbound payin on a sandbox deposit account. Useful for testing payin receipt flows without initiating a real bank transfer. Only available in sandbox environments.

## Headers

- `on-behalf-of` string

## Request body

- SimulateSandboxPayinRequest
  - `destinationAccountId` string, uuid, required — The ID of the payin deposit account that will receive the simulated inbound transfer.
  - `rail` union, required — The payment rail and amount for the simulated payin. Use the `type` discriminator to select the rail; each rail enforces a fixed currency (SPEI → MXN, PIX → BRL, CVU → ARS, ACH/WIRE → USD).
    - SpeiPayinRail
      - `amount` SpeiPayinAmount, required
        - `currencySymbol` 'MXN', required
        - `value` string, required — The amount in cents (e.g., "2500" represents 25.00).
      - `type` 'spei', required
    - PixPayinRail
      - `amount` PixPayinAmount, required
        - `currencySymbol` 'BRL', required
        - `value` string, required — The amount in cents (e.g., "2500" represents 25.00).
      - `type` 'pix', required
    - CvuPayinRail
      - `amount` CvuPayinAmount, required
        - `currencySymbol` 'ARS', required
        - `value` string, required — The amount in cents (e.g., "2500" represents 25.00).
      - `type` 'cvu', required
    - AchPayinRail
      - `amount` AchPayinAmount, required
        - `currencySymbol` 'USD', required
        - `value` string, required — The amount in cents (e.g., "2500" represents 25.00).
      - `type` 'ach', required
    - WirePayinRail
      - `amount` WirePayinAmount, required
        - `currencySymbol` 'USD', required
        - `value` string, required — The amount in cents (e.g., "2500" represents 25.00).
      - `type` 'wire', required

## Response `201`

The simulated payin was successfully initiated.

## Other responses

- `401` — Unauthorized
- `403` — SignedAgreementRequiredException
- `404` — No deposit account was found for the provided `destinationAccountId`, or the account does not belong to the calling organization.

---

[API](https://skmtc.net/muralpay/apis/mural-api.md) · [All operations](https://skmtc.net/muralpay/apis/mural-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/muralpay/mural-api/versions/437d277f5948/schema)
