Get Transfer
curl --request GET \
--url https://api.usezentra.com/api/v1/transfers/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.usezentra.com/api/v1/transfers/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.usezentra.com/api/v1/transfers/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.usezentra.com/api/v1/transfers/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.usezentra.com/api/v1/transfers/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.usezentra.com/api/v1/transfers/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.usezentra.com/api/v1/transfers/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data.id": "<string>",
"data.reference": "<string>",
"data.amount_minor": 123,
"data.currency": "<string>",
"data.status": "<string>",
"data.bankCode": "<string>",
"data.accountNumber": "<string>",
"data.accountName": "<string>",
"data.createdAt": "<string>",
"data.completedAt": "<string>"
}Get Transfer
GET /api/v1/transfers/ - Retrieve a single transfer by id
GET
/
api
/
v1
/
transfers
/
{id}
Get Transfer
curl --request GET \
--url https://api.usezentra.com/api/v1/transfers/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.usezentra.com/api/v1/transfers/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.usezentra.com/api/v1/transfers/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.usezentra.com/api/v1/transfers/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.usezentra.com/api/v1/transfers/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.usezentra.com/api/v1/transfers/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.usezentra.com/api/v1/transfers/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data.id": "<string>",
"data.reference": "<string>",
"data.amount_minor": 123,
"data.currency": "<string>",
"data.status": "<string>",
"data.bankCode": "<string>",
"data.accountNumber": "<string>",
"data.accountName": "<string>",
"data.createdAt": "<string>",
"data.completedAt": "<string>"
}Fetch the latest status and details for a single transfer using its transfer id.
Endpoint
GET /api/v1/transfers/{id}
Path Parameters
string
required
The transfer identifier returned when the transfer was created or listed.
Response
string
Internal transfer identifier.
string
Your business reference for verification, retry, and reconciliation.
number
Transfer amount in minor units.
string
Asset or currency code for the transfer.
string
Current transfer status, for example
pending, successful, or failed.string
Destination bank code.
string
Destination account number.
string
Resolved beneficiary account name.
string
ISO 8601 creation timestamp.
string
Completion timestamp when available.
Example Request
curl https://api.usezentra.com/api/v1/transfers/trn_abc123xyz \
-H "Authorization: Bearer YOUR_SECRET_KEY"
Example Response
{
"status": "success",
"data": {
"id": "trn_abc123xyz",
"reference": "TRF_123456",
"amount_minor": 50000,
"currency": "NGN",
"bankCode": "058",
"accountNumber": "0123456789",
"accountName": "JOHN DOE",
"status": "successful",
"createdAt": "2024-01-15T10:30:00Z",
"completedAt": "2024-01-15T10:31:00Z"
}
}
Common Errors
| Status | Code | Meaning |
|---|---|---|
401 | unauthorized | Secret key missing or invalid |
404 | not_found | No transfer exists for the supplied id |
The reviewed public gateway retrieves transfers by
id. Keep using the returned reference for verification, retry, and external reconciliation workflows.Next Steps
List Transfers
Query transfer history and apply filters
Webhook Events
Subscribe to transfer lifecycle updates
Was this page helpful?