---
title: "simulate incoming message (sandbox only)"
method: POST
path: "/investigations/simulate_incoming_message"
tags: ["Disputes (Beta)"]
---

# simulate incoming message (sandbox only)

`POST /investigations/simulate_incoming_message`

Simulate an incoming dispute message in sandbox environment

## Request body

- union
  - InvestigationsSimulateIncomingMessageRequestWithActionRequest
    - `simulate_action_request` boolean, required — Flag to trigger the `action_requested` webhook. When enabled, `investigation_type_code` must be `INV13` or `INV14`.
    - `investigation_type_code` 'INV13' | 'INV14', required — The type of investigation to be simulated.
    - `investigation_reason_code` string, required — The reason code for the investigation (eg from the [ISO20022 ExternalReturnReason1Code set](https://www.iso20022.org/catalogue-messages/additional-content-messages/external-code-sets)).
    - `original_transaction_identification` string, required — The original transaction identification related to the investigation. It must relate to a PayTo payment submission for a mandate owned by the merchant.
    - `narrative` string, required — The narrative for the investigation (freeform text, slash-delimited). It is omitted from the `message_received` webhook but is included in `action_requested` webhook.
  - InvestigationsSimulateIncomingMessageRequestWithoutActionRequest
    - `simulate_action_request` boolean, required — Flag to trigger the `action_requested` webhook. When enabled, `investigation_type_code` must be `INV13` or `INV14`.
    - `investigation_type_code` 'INV1' | 'INV2' | 'INV3' | 'INV4' | 'INV5' | 'INV6' | 'INV7' | 'INV8' | 'INV9' | 'INV10' | 'INV11' | 'INV12' | 'INV13' | 'INV14' | 'INV15' | 'INV16' | 'INV17' | 'INV18', required — The type of investigation to be simulated.
    - `investigation_reason_code` string, required — The reason code for the investigation (eg from the [ISO20022 ExternalReturnReason1Code set](https://www.iso20022.org/catalogue-messages/additional-content-messages/external-code-sets)).
    - `original_transaction_identification` string, required — The original transaction identification related to the investigation. It must relate to a PayTo payment submission for a mandate owned by the merchant.
    - `narrative` string, required — The narrative for the investigation (freeform text, slash-delimited). It is omitted from the `message_received` webhook but is included in `action_requested` webhook.

## Response `200`

OK

- object
  - `jsonapi` object, required
    - `version` '1.0', required
  - `data` InvestigationsIncomingMessageSimulation, required
    - `id` '00000000-0000-0000-0000-000000000000', uuid
    - `type` 'incoming_message_simulations'

## Other responses

- `400` — Bad Request

---

[API](https://skmtc.net/zeptopayments/apis/zepto-api.md) · [All operations](https://skmtc.net/zeptopayments/apis/zepto-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zeptopayments/zepto-api/revisions/6353e9b9af6f/schema)
