Initiate Transfer

Initiate a payout from your available transfer balance. You can use an existing beneficiaryId or provide a beneficiary object and Kyshi will find or create the beneficiary during initiation.

-H "x-api-key: your_secret_key"
POST {{host}}/v1/transfer

Request Body

FieldData TypeRequiredDescription
beneficiaryIdstringYes, if beneficiary is not suppliedExisting beneficiary ID.
beneficiaryobjectYes, if beneficiaryId is not suppliedBeneficiary details using the Create Beneficiary fields.
currencystringYesPayout currency. Supported payout currencies include NGN, GHS, and KES.
amountnumberYesAmount to transfer in major currency units.
narrationstringYesTransfer narration.
{
  "beneficiaryId": "8495ec4e-ce21-405f-b0cf-982702881f4d",
  "currency": "NGN",
  "amount": 2000,
  "narration": "Supplier payout"
}
{
  "status": true,
  "message": "Success",
  "code": 201,
  "data": {
    "transferCode": "TRF_HzmYr2nf1TIdilc",
    "reference": "KYSHI-1778623597453",
    "fees": {
      "vat": 0,
      "fee": 5,
      "processorFee": 10,
      "allInclusiveKyshiFee": 5,
      "others": {},
      "totalFees": 15,
      "stampDuty": 0
    }
  }
}

Notes

  • Amounts are in major currency units.
  • The total amount debited is the transfer amount plus totalFees.
  • Kyshi returns Insufficient Funds when your available balance cannot cover the transfer amount and fees.