# MONEY_IN webhook event.

Monato sends this webhook to notify you about new Money In events into your accounts. The payload covers both external SPEI credits and internal credits (book-to-book). Use fields such as sub_category and payer_institution to distinguish between them.

Internal credits note: INT_CREDIT webhooks are emitted only when the credit is inbound for a different owner than the initiator (e.g., different owner_id, even under the same client_id). Self-transfers under the same client_id + owner_id do not generate a MONEY_IN webhook event.

Endpoint: POST money-in
Version: 1.0.0
Security: bearerAuth

## Request fields (application/json):

  - `id_msg` (string, required)
    Unique message identifier (use for idempotency/deduplication).
    Example: "a7a126e8-fa74-411c-ad2b-b000f277bb0d"

  - `msg_name` (string, required)
    Event name. For Money In notifications it is always "MONEY_IN".
    Example: "MONEY_IN"

  - `msg_date` (string, required)
    Event date (YYYY-MM-DD).
    Example: "2025-04-02"

  - `body` (object, required)

  - `body.id` (string)
    Example: "0196da9a-8947-703e-9a3b-bf8c7d9f6059"

  - `body.beneficiary_account` (string)
    Example: "734180123045603216"

  - `body.beneficiary_name` (string)
    Example: "John Smith"

  - `body.beneficiary_rfc` (string)
    Example: "XYZ123456789"

  - `body.payer_account` (string)
    Example: "137180210044008609"

  - `body.payer_name` (string)
    Example: "Juan Perez"

  - `body.payer_rfc` (string)
    Example: "XYZ987654321"

  - `body.payer_institution` (string)
    SPEI: Banxico institution code of the originating bank (e.g. 40002). Internal: Monato internal institution code (e.g. 90734).
    Example: "40002"

  - `body.amount` (string)
    Amount credited, with two decimal places.
    Example: "123.00"

  - `body.transaction_date` (string)
    Date and time when the transaction was registered in the rail. Format: YYYY-MM-DD HH:MM:SS.
    Example: "2025-04-02 10:14:05"

  - `body.tracking_key` (string)
    Example: "50118609TBRNZ00I07219647"

  - `body.payment_concept` (string)
    Example: "Payment for invoice 4567"

  - `body.numeric_reference` (string)
    Example: "2504021"

  - `body.sub_category` (string)
    Internal classification of the credit. Typical values:
  - SPEI_CREDIT – external SPEI credit.
  - INT_CREDIT – internal credit from internal_transaction.
    Example: "SPEI_CREDIT"

  - `body.registered_at` (string)
    Timestamp in Monato when the transaction was created / persisted (ISO-8601 with timezone).
    Example: "2025-04-02T10:14:05.915184-06:00"

  - `body.owner_id` (string)
    Identifier of the owner of the destination instrument (e.g. the customer that owns the receiving account).
    Example: "24f1e5d5-4045-4b1a-a0c4-5e6c6b1d44ef"

## Response 422 fields (application/json):

  - `refundReason` (string, required)
    Text with the reason why you reject the Money In. Used to populate the SPEI refund concept.
    Example: "Invalid amount"


## Response 200 fields

## Response 201 fields

## Response 202 fields
