---
title: "Reject an outgoing wire pending compliance review"
method: POST
path: "/wires/{wire_id}/reject"
tags: ["Wires"]
---

# Reject an outgoing wire pending compliance review

`POST /wires/{wire_id}/reject`

Declines an outgoing wire held in PENDING_COMPLIANCE_REVIEW, either as a confirmed sanctions match or for an unrelated, confirmed fraud finding, releasing the held funds. Only valid while the wire is pending compliance review.

## Path parameters

- `wire_id` string, uuid, required

## Headers

- `Idempotency-Key` string

## Request body

- RejectWireRequest — Declines an outgoing wire pending compliance review, either as a confirmed sanctions match or for an unrelated, confirmed fraud finding. Only valid while the wire's status_details is PENDING_COMPLIANCE_REVIEW.
  - `decision_reason` object, required — Classifies why an outgoing wire is being declined. Exactly one of `ofac` or `fraud` must be set. `ofac` is a confirmed sanctions match - it drives the 10-business-day OFAC reporting obligation and sets status_details to DECLINED_COMPLIANCE_REVIEW. `fraud` is unrelated to OFAC (e.g. the sanctions match was cleared but confirmed fraud signals were found during the review instead) - it carries no OFAC filing obligation and sets status_details to DECLINED_FRAUD.
    - `fraud` 'confirmed_fraud' — Fraud classification for a compliance-review decline unrelated to OFAC. Carries no OFAC filing obligation.
    - `ofac` 'prohibited' | 'true_match' — OFAC reporting classification for a compliance-review decline. Both values require an OFAC report to be filed within 10 business days of the decision.
  - `reason` string, required — Reason the wire is being rejected, for the compliance audit trail.

## Response `200`

Rejected wire

- Wire
  - `amount` integer, required — Transfer amount in cents ($100 would be 10000)
  - `bank_message` string — Instructions intended for the financial institutions that are processing the wire.
  - `batch_id` string, uuid — The batch ID associated with the wire if it was created via the batch payment API.
  - `case_id` integer — The case id associated with the wire.
  - `creation_time` string, date-time, required
  - `currency` string, required — 3-character currency code
  - `customer_id` string, uuid — The customer UUID representing the person initiating the Wire transfer
  - `effective_date` string, date, required — The effective date of the transaction once it gets posted
  - `fed_input_message_accountability_data` string — The Synctera-generated IMAD can be overwritten when the wire is uploaded to the FED. If that happens and we are provided with the new IMAD, it will be populated in this field.
  - `id` string, uuid, required — wire ID
  - `input_message_accountability_data` string — The input message accountability data consists of a 8 character cycle date (CCYYMMDD) an 8 character source and a 6 character sequence number.
  - `is_bulk` boolean, required — Whether or not the wire is a "bulk" wire created via the batch payment API.
  - `last_updated_time` string, date-time, required
  - `network` string — The network used to process the wire
  - `originating_account_id` string, uuid — Sender account ID
  - `originating_account_number` string, string, required — The account number representing the sender account. If the outgoing wire is a return, it refers to the sender of the initial wire not the sender of the return.
  - `receiving_account_id` string, uuid — The external account uuid representing the recipient of the wire.
  - `receiving_account_number` string, string, required — The account number representing the recipient account. If the outgoing wire is a return, it refers to the recipient of the initial wire not the destination of the return.
  - `recipient_message` string — Information from the originator to the beneficiary (recipient).
  - `return_data` ReturnData1 — Data associated with a returned wire
    - `original_end_to_end_identification` string
    - `original_id` string, uuid — UUID of the original wire that was returned. This field is populated if the system successfully matches the return to an original wire.
    - `original_instruction_identification` string
    - `original_transaction_id` string, uuid — Ledger transaction UUID of the original wire that was returned. This field is populated if the system successfully matches the return to an original wire.
    - `original_transaction_identification` string
    - `original_uetr` string
    - `previous_message_id` string, required — IMAD of the original wire that was returned
    - `reason` string — Additional information regarding the cause of the return
    - `reason_code` string — The code associated with the return reason
  - `sanction_screening_id` string, uuid
  - `sender_reference_id` string, required — Sender's id associated with fedwire transfer
  - `settlement_date` string, date — The settlement date of the transaction once it gets posted
  - `status` 'CANCELED' | 'COMPLETED' | 'DECLINED' | 'PENDING', required — The current status of the transfer
  - `status_details` 'APPROVED' | 'CANCELED' | 'DECLINED_COMPLIANCE_REVIEW' | 'DECLINED_DUAL_APPROVAL' | 'DECLINED_FRAUD' | 'PENDING_COMPLIANCE_REVIEW' | 'PENDING_DUAL_APPROVAL' — Additional details about the status of the transfer
  - `transaction_id` string, uuid, required — ID of the resulting transaction resource
  - `transaction_in_id` string, uuid — The transaction uuid of the incoming wire that triggered an outgoing return. This is only used if the outgoing wire is a return.

## Other responses

- `400` — BadRequest
- `401` — Unauthorized
- `403` — Forbidden error
- `404` — Resource not found
- `422` — Unprocessable entity request response
- `500` — Internal server error

## Changes

- **2026-09-29** `a9a5c394da16` — 1 breaking, 2 warning, 2 info
  - the `decision_reason` request property type changed from no type to `object`
  - removed `#/components/schemas/ofac_decision_reason` from the `decision_reason` request property `allOf` list
  - added the new `DECLINED_FRAUD` enum value to the `status_details` response property for the response status `200`
  - added the new optional request property `decision_reason/fraud`
  - …1 more
- **2026-09-15** `e2bafc65e5b0` — 1 breaking
  - added the new required request property `decision_reason`
- **2026-09-04** `cbc9aeafeb2c` — 1 info
  - endpoint added
- **2026-08-27** `a6363e3dbb7b` — 1 breaking
  - api path removed without deprecation
- **2026-07-26** `1df97930c918` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/synctera/apis/synctera-api/changes/wires/:wire_id/reject/post.md)

---

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