Partner API

Read a transfer

get/v1/transfers/{id}

Request

  • Base URL
    https://sandbox.onlink.africa
  • Auth
    API key in header X-OnLink-Key

Path parameters

idstring required

Response

The transfer.

idstring required

The transfer id.

status'awaiting_confirmation' | 'confirmed' | 'executing' | 'processing' | 'settled' | 'failed' | 'expired' | 'cancelled' required

The transfer status.

rail'mpesa' | 'pesalink' | 'rtgs' | 'eft' | 'swift' | 'internal' required

The rail this transfer moves on.

nameVerification'verified' | 'unavailable' required

Whether the beneficiary name could be verified against the rail. unavailable covers both "this rail has no verification" (rtgs, eft, swift) and a provider outage — see verifiedAccountName.

verifiedAccountNamestring

The resolved beneficiary name, present only when nameVerification is verified.

partnerReferencestring

Your own reference, echoed back.

failureCodestring

A classified failure code, present only once failed.

createdAtstring date-time required

ISO-8601 instant the transfer was created.

confirmedAtstring date-time

ISO-8601 instant the transfer was confirmed: when its confirmation code was verified, or, when confirmation is waived for your account, when the transfer was created already confirmed.

settledAtstring date-time

ISO-8601 instant the transfer settled.

Example response

{
  "id": "bd9f1e6a-0000-4000-8000-000000000010",
  "status": "awaiting_confirmation",
  "rail": "mpesa",
  "amount": {
    "currency": "KES",
    "value": "1500.00"
  },
  "fee": {
    "currency": "KES",
    "value": "1500.00"
  },
  "destination": {
    "accountNumber": "254700000000",
    "accountName": "Jane Wanjiku",
    "bankCode": "11"
  },
  "nameVerification": "verified",
  "verifiedAccountName": "JANE WANJIKU",
  "partnerReference": "ACME-TRF-000123",
  "failureCode": "PROVIDER_REJECTED",
  "createdAt": "2026-09-11T00:00:00.000Z",
  "confirmedAt": "2026-09-11T00:02:00.000Z",
  "settledAt": "2026-09-11T00:05:00.000Z",
  "confirmation": {
    "id": "df9f1e6a-0000-4000-8000-000000000030",
    "channel": "email",
    "deliveredTo": "o***@partner.co.ke",
    "expiresAt": "2026-09-11T00:15:00.000Z",
    "resendAvailableAt": "2026-09-11T00:00:15.000Z",
    "webhookDelivery": {
      "status": "delivered",
      "attempts": 1,
      "lastAttemptAt": "2026-09-11T00:00:02.000Z"
    },
    "waiverNotApplied": "key_without_ip_allowlist"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.