---
title: "Internal transfer updated"
method: POST
path: "internal_transfer.updated"
tags: ["Webhooks"]
---

# Internal transfer updated

`POST internal_transfer.updated` (webhook)

Sent when an internal transfer changes status (`PENDING` → `PROCESSING` → `COMPLETED`, `FAILED`, etc.). Set the destination URL using `callback_url` when creating the transfer. The body is identical to the [Get Internal Transfer](ref:v1_11_get_internal_transfer) response.

## Payload

- InternalTransferResult
  - `id` string, required: Transfer ID
  - `idempotency_key` string: A unique key that ensures a request is processed only once. If the same key is sent with multiple requests, the server returns the original response instead of performing the action again.
  - `company_id` string, required: Company ID
  - `created_at` string, date-time, required: Creation date of the transfer
  - `updated_at` string, date-time, required: Last update date of the transfer
  - `quote_id` string: Quote request ID used in the transfer, if applicable
  - `rate` number: FX rate used in the transfer, if applicable
  - `source_amount` number: Amount of the transfer
  - `destination_amount` number: Amount received in the target account currency
  - `source_account_id` string, required: Source account ID
  - `target_account_id` string, required: Target account ID
  - `status` 'PENDING' | 'PROCESSING' | 'SETTLING' | 'COMPLETED' | 'FAILED', required
  - `failure_reason` string: Reason of the failure, if the transfer failed
  - `compliance_hold` boolean: True while the transfer is temporarily held for a compliance review. The transfer resumes automatically once the review is completed.
  - `callback_url` string: URL to send a POST request with the result of the transfer, if applicable
  - `voucher_ids` string[]: Voucher IDs associated with the transfer of funds to the final destination.
  - `source_account` AccountToIncludeInResponses, required
    - `id` string, required
    - `account_number` string, required
    - `currency` string, required
    - `country` string, required
    - `company` CompanyToIncludeInResponses, required
      - `id` string, required
      - `name` string, required
  - `target_account` AccountToIncludeInResponses
    - `id` string, required
    - `account_number` string, required
    - `currency` string, required
    - `country` string, required
    - `company` CompanyToIncludeInResponses, required
      - `id` string, required
      - `name` string, required
  - `company` CompanyToIncludeInResponses, required
    - `id` string, required
    - `name` string, required

## Acknowledgement `200`

Any 2xx response is treated as a successful acknowledgement. Infinia will retry delivery on non-2xx responses.

---

[API](https://skmtc.dev/infiniaweb/apis/accounts.md) - [All operations](https://skmtc.dev/infiniaweb/apis/accounts/llms.txt) - [OpenAPI document](https://skmtc.dev/infiniaweb/apis/accounts/revisions/2faae77050e4?raw)
