---
title: "Receives transfers"
method: POST
path: "/transactions"
tags: ["Participant Webhooks"]
---

# Receives transfers

`POST /transactions`

Webhook for receiving incoming transfer transactions from network (CCA) in this case the Participant is the IFR.

## Request body

- ForwardedTransferMessage — Transfer message, as forwarded by Shinkansen to the Participant
  - `document` object, required — Envelops the message content
    - `header` TransferFwMessageHeader, required — Header for original transfer messages
      - `shinkansen_message_id` string, uuid, required — UUID Unique identifier of the message. Generated by Shinkansen initiating the transactions (or sending the responses) inside this message. UUID format is required.
      - `creation_date` string, date-time, required — Creation date of the message in ISO 8601 format. Generated by Shinkansen initiating the transactions (or sending the responses) inside this message.
      - `sender` string, required — Shinkansen sending this message. For forwarded transfers, responses or reversals.
      - `receiver` string, required — The receiver of this message for this case, the Participant (your financial institution)
    - `transactions` ForwardedTransferTransaction[], required — One or more transfer transactions.
      - `transaction_type` string, required — Transaction type. Always should be `transfer` for this type of transaction.
      - `shinkansen_transaction_id` string, uuid, required — UUID Unique identifier of the transaction. Generated by Shinkansen.
      - `currency` string, required — Currency ISO 4217 code (e.g: `"CLP"`)
      - `amount` string, required — Amount, ISO20022-compatible: Up to 18 integer digits, optional decimal separator ".", up to 5 fraction digits (also optional). By using a string we avoid issues with floating-point arithmetic as well as integer type limits on some JSON implementations.
      - `reference` string, required — Transaction reference. Length and allowed characters can be limited by the underlying network.
      - `debtor` TransferDebtor, required — The origin of the funds movement
        - `name` string, required — Debtor name. Must refer to the legal name of the participant sending the payout message.
        - `identification` object, required — The identifier for a legal or natural person in Chile CLID (RUT)
          - `id_schema` string, required — Identification schema. See https://docs.shinkansen.tech/docs/tipos-de-identificacion
          - `id` string, required — The actual identification "number" (but not always just numbers). Unique identifier for legal entities and natural persons in Chile CLID (RUT). You must use the XXXXXXXX-X format: `^\d{8}[-][0-9kK]$`. See https://docs.shinkansen.tech/docs/tipos-de-identificacion for more details.
        - `financial_institution` string, required — Financial institution towards where the funds will move.
        - `account` string, required — Bank account number of the debtor at the referenced bank or financial institution.
        - `account_type` string, required — Account type. See https://docs.shinkansen.tech/docs/tipos-de-cuentas for possible values.
        - `customer_type` 'individual' | 'legal_entity' — Entity type (opcional): * `individual`: Persona natural * `legal_entity`: Persona jurídica
        - `email` string, email — E-mail of the legal or individual person sending the funds (some operators will send email notifications to the sender as well as the receiver).
      - `creditor` TransferCreditor, required — The destination of the funds movement
        - `name` string, required — Legal name of the legal or individual person receiving the funds.
        - `identification` object, required — The identifier for a legal or natural person in Chile CLID (RUT)
          - `id_schema` string, required — Identification schema. See https://docs.shinkansen.tech/docs/tipos-de-identificacion
          - `id` string, required — The actual identification "number" (but not always just numbers). Unique identifier for legal entities and natural persons in Chile CLID (RUT). You must use the XXXXXXXX-X format: `^\d{8}[-][0-9kK]$`. See https://docs.shinkansen.tech/docs/tipos-de-identificacion for more details.
        - `financial_institution` string, required — Financial institution towards where the funds will move.
        - `account` string, required — Bank account number of legal or individual person receiving the funds.
        - `account_type` string, required — Account type. See https://docs.shinkansen.tech/docs/tipos-de-cuentas for possible values.
        - `email` string, email — E-mail of the legal or individual person receiving the funds (for email notifications).
      - `network_metadata` TransferFwNetworkMetadata — Metadata with network-specific data for the transaction
        - `originator_ipv4` string, ipv4 — Public IPv4 address of the end-user who is originating the transaction. This is the address of the device (e.g., mobile phone or web browser) the user is utilizing to authorize the payment. This field is mandatory and is used for security monitoring, fraud prevention, and compliance with Anti-Money Laundering (AML) regulations.
        - `debtor_has_made_transfers_to_creditor_before` boolean — Indicates if the debtor has made transfers to the creditor before. Useful for network anti-fraud systems.
        - `operation_number` string — Operation number of the transaction. Useful for network tracking and tracing.
        - `is_batch_transfer` boolean — Indicates if the transaction is part of a batch transfer. Useful for network priorization.
        - `customer_segment_code` string — Up to 3 characters identifying the segment of the customer, defined by the originating financial institution.
        - `filler` string — Filler field to complete the message. This field is reserved for future use and must be left empty and can be used to store additional information that is not yet defined.

## Response `200`

Message correctly received and accepted to be processed by Participant, this does NOT mean the transaction was succesful. You process asynchronously the transaction and send the status of the transaction in our endpoint (https://docs.shinkansen.tech/reference/post-transfer-response).

- StatusAcceptedFwTransfer — Status accepted transfer HTTP 200
  - `message_id` string, uuid, required — Message ID generated by Participant receiving the transfer
  - `transactions` object[], required — Array of mappings between original transaction_id and shinkansen_transaction_id
    - `transaction_id` string, uuid, required — The transaction_id - Generated by the Participant
    - `shinkansen_transaction_id` string, uuid, required — The original shinkansen_transaction_id - Generated by Shinkansen

## Other responses

- `400` — Invalid message (e.g: invalid payload) - Maybe you want to respond with detailed error message for tracking purposes
- `401` — Invalid signature JWS (e.g: invalid certificate or expired)
- `409` — Duplicate message or transaction ID (e.g: Send same message twice)

---

[API](https://skmtc.net/shinkansen/apis/payouts-shinkansen-endpoints.md) · [All operations](https://skmtc.net/shinkansen/apis/payouts-shinkansen-endpoints/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/shinkansen/payouts-shinkansen-endpoints/versions/1e4a6760b7e8/schema)
