---
title: "Changes to Create Transfer"
method: POST
path: "/transfers"
---

# Changes to Create Transfer

`POST /transfers`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 1 of 2 revisions.

- **2026-11-03** `f6d3f87df5e0`: 9 breaking, 8 warning, 27 info

## Changes

- **2026-11-03** `f6d3f87df5e0`: 9 breaking, 8 warning, 27 info
  - added the pattern `^[0-9a-fA-F]{64}$` to the request property `transferInformation/allOf[#/components/schemas/TransferInformationDto]/customer_id_hashmac`
  - added the pattern `^[0-9a-fA-F]{64}$` to the request property `transferInformation/allOf[#/components/schemas/TransferInformationDto]/recipient_name_hashmac`
  - the `transferInformation/allOf[#/components/schemas/TransferInformationDto]/customer_id_hashmac` response property's maxLength was increased from `50` to `64` for the response status `201`
  - the `transferInformation/allOf[#/components/schemas/TransferInformationDto]/recipient_name_hashmac` response property's maxLength was increased from `50` to `64` for the response status `201`
  - added `#/components/schemas/InstantPaymentDto` to the `destination` response property `oneOf` list for the response status `201`
  - removed the required property `error` from the response with the `400` status
  - removed the required property `gatewayId` from the response with the `201` status
  - removed the required property `httpStatus` from the response with the `409` status
  - removed the required property `type` from the response with the `409` status
  - the `reference` request property's maxLength was set to `255`
  - removed the request property `transferInformation/allOf[#/components/schemas/TransferInformationDto]/recipient_phone_hashmac`
  - removed the optional property `providerData` from the response with the `201` status
  - removed the optional property `transferInformation/allOf[#/components/schemas/TransferInformationDto]/recipient_phone_hashmac` from the response with the `201` status
  - added the new `400.00` enum value to the `status` response property for the response status `400`
  - added the new `instant_payment` enum value to the `destination/oneOf[#/components/schemas/AirtimeDto]/type` response property for the response status `201`
  - added the new `instant_payment` enum value to the `destination/oneOf[#/components/schemas/BankTransferDto]/type` response property for the response status `201`
  - added the new `instant_payment` enum value to the `destination/oneOf[#/components/schemas/MobileMoneyDto]/type` response property for the response status `201`
  - added the new optional request property `rejectionId`
  - added `bank_transfer, mobile_money, airtime, instant_payment` discriminator mapping keys to the `destination` request property
  - added the new `instant_payment` enum value to the request property `destination/oneOf[#/components/schemas/MTAirtimeDto]/type`
  - added the new `instant_payment` enum value to the request property `destination/oneOf[#/components/schemas/MTBankTransferDto]/type`
  - added the new `instant_payment` enum value to the request property `destination/oneOf[#/components/schemas/MTMobileMoneyDto]/type`
  - the `transferInformation/allOf[#/components/schemas/TransferInformationDto]/customer_id_hashmac` request property's maxLength was increased from `50` to `64`
  - the `transferInformation/allOf[#/components/schemas/TransferInformationDto]/recipient_name_hashmac` request property's maxLength was increased from `50` to `64`
  - added `#/components/schemas/MTInstantPaymentDto` to the `destination` request property `oneOf` list
  - added the non-success response with the status `422`
  - added the non-success response with the status `503`
  - added the optional property `duplicateConfirmation` to the response with the `201` status
  - added the optional property `end_user_message` to the response with the `409` status
  - added the optional property `expires_at` to the response with the `409` status
  - added the optional property `idempotentReplay` to the response with the `201` status
  - added the optional property `matching_transfers` to the response with the `409` status
  - added the optional property `original_transaction_id` to the response with the `409` status
  - added the optional property `rejection_id` to the response with the `409` status
  - added `bank_transfer, mobile_money, airtime, instant_payment` discriminator mapping keys to the `destination` response property for the response status `201`
  - removed the `unsupported_action` enum value from the `code` response property for the response status `409`
  - the `transferInformation/allOf[#/components/schemas/TransferInformationDto]/customer_id_hashmac` response's property pattern `^[0-9a-fA-F]{64}$` was added for the status `201`
  - the `transferInformation/allOf[#/components/schemas/TransferInformationDto]/recipient_name_hashmac` response's property pattern `^[0-9a-fA-F]{64}$` was added for the status `201`
  - added the required property `code` to the response with the `400` status
  - added the required property `message` to the response with the `400` status
  - …4 more

---

[Operation](https://skmtc.dev/hub2/apis/hub2-service-api/docs/transfers/post.md) - [API](https://skmtc.dev/hub2/apis/hub2-service-api.md) - [Page](https://skmtc.dev/hub2/apis/hub2-service-api/changes/transfers/post)
