---
title: "Simulate a Transaction"
method: POST
path: "/sandbox/mock_transactions"
tags: ["Sandbox"]
---

# Simulate a Transaction

`POST /sandbox/mock_transactions`

> **Note** This endpoint is only available in Sandbox.

Create a Transaction by simulating the attributes that would be expected from reading an actual transaction received from a third party system. The simulated Transaction will appear in the respective [Transaction list](https://developers.newline53.com/reference/get_transactions) after it is successfully processed.

Transactions can be simulated against either a Synthetic Account, or a VRN that is created and mapped to a Synthetic Account.

## Request body

- object
  - `customer_uid` string — The uid of the customer for which to create the Transaction. Required except when `transaction_type` is `ach_return`.
  - `transaction_type` 'wire' | 'instant_payment' | 'ach' | 'ach_return', required
  - `transaction_uid` string — The Transaction UID value is required when the simulated transaction type is "ach_return". This is the transaction that newline will simulate the return for. The transaction supplied must be of type 'ACH'.
  - `us_dollar_amount` number — Positive value interpreted as a `credit`; negative value interpreted as a `debit`. Required for `transaction_type` of `wire`, `instant_payment`, and `ach`; ignored when `transaction_type` is `ach_return`.
  - `description` string — Additional information about this Mock Transaction; used as the Transaction description. When provided, a minimum of 8 characters is required.
  - `synthetic_account_uid` string — Optionally specifies the general Synthetic Account to be used for creating the transaction. If not passed, a random Synthetic Account belonging to the Customer will be used.
  - `virtual_reference_number_uid` string — Optional. If a VRN UID is supplied the simulated transaction will be associated with that VRN. The VRN UID must be in an active status. Only the following simulated transactions can have an associated VRN: wire credits, ACHs, or instant_payment.
  - `network` 'tch' | 'fednow' — Optional. You may specify the network on which to simulate the transaction. If not specified, the default network `"tch"` will be used. Applicable for `transaction_type` of `instant_payment`.
  - `counterparty_address` union — Address of the business or individual who owns the external account. Applicable for `transaction_type` of `wire` or `instant_payment`.
    - object — Structured wire address using ISO-style parsed fields. Accepted when your program's wire address configuration is set to `structured` or `both`. Required fields: `city` and `country`.
      - `line1` string, nullable — Full street line (alternative to `building_number` + `street_name`). Optional 33 characters. Cannot contain \# @ $ ! " % & * ; < > { } [ ] _ ^ \ ~
      - `line2` string, nullable — Optional continuation, unit, or suite. Optional 33 characters. Cannot contain \# @ $ ! " % & * ; < > { } [ ] _ ^ \ ~
      - `building_number` string, nullable — Parsed building or house number. Optional 33 characters. Cannot contain \# @ $ ! " % & * ; < > { } [ ] _ ^ \ ~
      - `street_name` string, nullable — Parsed street name. Optional 33 characters. Cannot contain \# @ $ ! " % & * ; < > { } [ ] _ ^ \ ~
      - `city` string, required — Required. 33 characters. Cannot contain \# @ $ ! " % & * ; < > { } [ ] _ ^ \ ~
      - `state` string, nullable — State or province. Optional 33 characters. Cannot contain \# @ $ ! " % & * ; < > { } [ ] _ ^ \ ~
      - `postal_code` string, nullable — US ZIP code (5-digit) or ZIP+4.
      - `country` Country, required — unresolved $ref
    - object
      - `line1` string, nullable — Up to 35 characters. Cannot contain \# @ $ ! " % & * ; < > { } [ ] _ ^ \ ~
      - `line2` string, nullable — Optional 35 characters. Cannot contain \# @ $ ! " % & * ; < > { } [ ] _ ^ \ ~
      - `line3` string, nullable — Optional 32 characters. Note that this length is shorter than the other lines. Cannot contain \# @ $ ! " % & * ; < > { } [ ] _ ^ \ ~
      - `country` string — 2 character ISO 3166 country code: https://www.iso.org/iso-3166-country-codes.html
    - object
      - `street_number` string, required — Building number for counterparty address. Alphanumeric only.
      - `street1` string, required — Street name for counterparty address
      - `street2` string — Optional second line of street
      - `city` string, nullable, required — Maximum 35 characters
      - `state` string, nullable, required — 2 characters. Must be a valid US state abbreviation.
      - `postal_code` string, nullable, required — 5-digit string. ZIP+4 is allowed.
      - `country` Country, required — unresolved $ref
  - `counterparty_name` string — Name of the business or individual who owns the external account. Maximum 35 characters. Applicable for `transaction_type` of `wire` or `instant_payment`.
  - `counterparty_bank_address` object — Address of the financial institution where the external account is held. Applicable for `transaction_type` of `wire`.
    - `line1` string, nullable — Optional 35 characters. Cannot contain \# @ $ ! " % & * ; < > { } [ ] _ ^ \ ~
    - `line2` Line2 — unresolved $ref
    - `line3` Line3 — unresolved $ref
    - `country` Country — unresolved $ref
  - `counterparty_bank_name` string — Name of the financial institution where the counterparty account is held. Maximum 35 characters. Applicable for `transaction_type` of `wire`.
  - `entry_description` string — Description of the transaction. Applicable for `transaction_type` of `ach`.
  - `intermediary_bank_address` 0 — unresolved $ref
  - `intermediary_bank_name` string — Name of the intermediary bank, when applicable. Maximum 35 characters. Applicable for `transaction_type` of `wire`.
  - `intermediary_bank_routing_number` 0 — unresolved $ref
  - `memo` string, nullable — A message transmitted to the recipient bank. Supports letters, numbers, and special characters: . !@#$%^&*',/:;<=>?~`|[]{})(+=_- (max 140 characters).
  - `wire_instructions` string — Additional details or instructions for the wire, issued to the recipient financial institution when the wire is executed.
  - `addenda` string — Optional additional payment-related information, such as invoice numbers, originator/receiver information, payment instructions, etc. Up to 80 characters. Optional for all newline supported SEC codes other than TEL. Newline will reject the Transfer if an Addenda value is provided with SEC code TEL.
  - `sec_code` 'CCD' | 'CIE' | 'PPD' | 'TEL' | 'WEB' — Standard Entry Class (SEC) code. Newline supports the following SEC codes: CCD, CIE, PPD, TEL, WEB. For more details, refer to our ACH guide's [section](https://developers.newline53.com/docs/ach#standard-entry-class-sec-codes) on SEC code use.
  - `iat` string, nullable — Optional. If the `iat` param is supplied on a mocked RDFI or ODFI ACH transaction, the transaction will have IAT details mocked accordingly.
  - `chips` string, nullable — CHIPS number of the wire recipient. At most one of `chips`, `imad`, or `uetr` should be present.
  - `imad` string, nullable — FedWire IMAD number identifying a wire transaction. At most one of `chips`, `imad`, or `uetr` should be present.
  - `uetr` string, nullable — Unique End to end Transaction Reference value from SWIFT for a wire transaction. At most one of `chips`, `imad`, or `uetr` should be present.

## Response `201`

A success message is returned

- object
  - `success` string
  - `uid` string — The UID of the newly mocked Transaction.

---

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