curl https://api.kwugwo.africa/v1/ugwo/ugw.VCvr.7K2qPmRtV9xLnQ8sD1cYwHfE/activities/act.VCvr.qnbBJaElzSTHOcaTzxbuDlIs \
-H "Authorization: Bearer $KWUGWO_SECRET_KEY"
const activity = await fetch(
`https://api.kwugwo.africa/v1/ugwo/${ugwoUid}/activities/${activityUid}`,
{ headers: { Authorization: `Bearer ${process.env.KWUGWO_SECRET_KEY}` } }
).then(r => r.json());
<?php
$url = "https://api.kwugwo.africa/v1/ugwo/{$ugwoUid}/activities/{$activityUid}";
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('KWUGWO_SECRET_KEY')],
]);
$activity = json_decode(curl_exec($ch), true);
curl_close($ch);
import os, requests
activity = requests.get(
f"https://api.kwugwo.africa/v1/ugwo/{ugwo_uid}/activities/{activity_uid}",
headers={"Authorization": f"Bearer {os.environ['KWUGWO_SECRET_KEY']}"},
).json()
url := fmt.Sprintf("https://api.kwugwo.africa/v1/ugwo/%s/activities/%s", ugwoUid, activityUid)
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KWUGWO_SECRET_KEY"))
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
{
"uid": "act.VCvr.qnbBJaElzSTHOcaTzxbuDlIs",
"activity_type": "charge",
"checkout": {
"uid": "chk.VCvr.vBtGwathtd99FpQGIGwIAATX",
"currency": ["NGN", "Nigerian Naira (NGN)"],
"mediums": [
{ "medium": "bank_transfer" },
{ "medium": "ussd" }
]
},
"ugwo_medium": null,
"psp": "paystack_ng",
"psp_external_id": "5kfxw34ugz",
"next_action": {
"type": "user_action",
"instruction": "Transfer to bank",
"headers": {
"bank_name": "Test Bank",
"expires_at": "2026-05-14T20:10:50+00:00",
"account_name": "PAYSTACK CHECKOUT",
"account_number": "1260881821"
}
},
"status": "requires_action",
"error": null,
"created_at": "2026-05-14T19:55:50+00:00",
"updated_at": "2026-05-14T19:55:51+00:00"
}
{
"type": "https://tools.ietf.org/html/rfc2616#section-10",
"title": "Not Found",
"status": 404,
"detail": "ugwo_activity.error.not_found"
}
Payments (Ugwo)
Get an activity
Fetch a specific activity by ID.
GET
/
v1
/
ugwo
/
{ugwoUid}
/
activities
/
{activityUid}
curl https://api.kwugwo.africa/v1/ugwo/ugw.VCvr.7K2qPmRtV9xLnQ8sD1cYwHfE/activities/act.VCvr.qnbBJaElzSTHOcaTzxbuDlIs \
-H "Authorization: Bearer $KWUGWO_SECRET_KEY"
const activity = await fetch(
`https://api.kwugwo.africa/v1/ugwo/${ugwoUid}/activities/${activityUid}`,
{ headers: { Authorization: `Bearer ${process.env.KWUGWO_SECRET_KEY}` } }
).then(r => r.json());
<?php
$url = "https://api.kwugwo.africa/v1/ugwo/{$ugwoUid}/activities/{$activityUid}";
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('KWUGWO_SECRET_KEY')],
]);
$activity = json_decode(curl_exec($ch), true);
curl_close($ch);
import os, requests
activity = requests.get(
f"https://api.kwugwo.africa/v1/ugwo/{ugwo_uid}/activities/{activity_uid}",
headers={"Authorization": f"Bearer {os.environ['KWUGWO_SECRET_KEY']}"},
).json()
url := fmt.Sprintf("https://api.kwugwo.africa/v1/ugwo/%s/activities/%s", ugwoUid, activityUid)
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KWUGWO_SECRET_KEY"))
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
{
"uid": "act.VCvr.qnbBJaElzSTHOcaTzxbuDlIs",
"activity_type": "charge",
"checkout": {
"uid": "chk.VCvr.vBtGwathtd99FpQGIGwIAATX",
"currency": ["NGN", "Nigerian Naira (NGN)"],
"mediums": [
{ "medium": "bank_transfer" },
{ "medium": "ussd" }
]
},
"ugwo_medium": null,
"psp": "paystack_ng",
"psp_external_id": "5kfxw34ugz",
"next_action": {
"type": "user_action",
"instruction": "Transfer to bank",
"headers": {
"bank_name": "Test Bank",
"expires_at": "2026-05-14T20:10:50+00:00",
"account_name": "PAYSTACK CHECKOUT",
"account_number": "1260881821"
}
},
"status": "requires_action",
"error": null,
"created_at": "2026-05-14T19:55:50+00:00",
"updated_at": "2026-05-14T19:55:51+00:00"
}
{
"type": "https://tools.ietf.org/html/rfc2616#section-10",
"title": "Not Found",
"status": 404,
"detail": "ugwo_activity.error.not_found"
}
Returns the activity. Use this to poll for completion when you cannot
rely on webhooks, or to inspect the
next_action after a successful
charge create.
Path parameters
The ugwo the activity belongs to,
ugw.XXXX.YYYY....The activity ID,
act.XXXX.YYYY....Response
Shape matches Charge an ugwo.curl https://api.kwugwo.africa/v1/ugwo/ugw.VCvr.7K2qPmRtV9xLnQ8sD1cYwHfE/activities/act.VCvr.qnbBJaElzSTHOcaTzxbuDlIs \
-H "Authorization: Bearer $KWUGWO_SECRET_KEY"
const activity = await fetch(
`https://api.kwugwo.africa/v1/ugwo/${ugwoUid}/activities/${activityUid}`,
{ headers: { Authorization: `Bearer ${process.env.KWUGWO_SECRET_KEY}` } }
).then(r => r.json());
<?php
$url = "https://api.kwugwo.africa/v1/ugwo/{$ugwoUid}/activities/{$activityUid}";
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('KWUGWO_SECRET_KEY')],
]);
$activity = json_decode(curl_exec($ch), true);
curl_close($ch);
import os, requests
activity = requests.get(
f"https://api.kwugwo.africa/v1/ugwo/{ugwo_uid}/activities/{activity_uid}",
headers={"Authorization": f"Bearer {os.environ['KWUGWO_SECRET_KEY']}"},
).json()
url := fmt.Sprintf("https://api.kwugwo.africa/v1/ugwo/%s/activities/%s", ugwoUid, activityUid)
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KWUGWO_SECRET_KEY"))
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
{
"uid": "act.VCvr.qnbBJaElzSTHOcaTzxbuDlIs",
"activity_type": "charge",
"checkout": {
"uid": "chk.VCvr.vBtGwathtd99FpQGIGwIAATX",
"currency": ["NGN", "Nigerian Naira (NGN)"],
"mediums": [
{ "medium": "bank_transfer" },
{ "medium": "ussd" }
]
},
"ugwo_medium": null,
"psp": "paystack_ng",
"psp_external_id": "5kfxw34ugz",
"next_action": {
"type": "user_action",
"instruction": "Transfer to bank",
"headers": {
"bank_name": "Test Bank",
"expires_at": "2026-05-14T20:10:50+00:00",
"account_name": "PAYSTACK CHECKOUT",
"account_number": "1260881821"
}
},
"status": "requires_action",
"error": null,
"created_at": "2026-05-14T19:55:50+00:00",
"updated_at": "2026-05-14T19:55:51+00:00"
}
{
"type": "https://tools.ietf.org/html/rfc2616#section-10",
"title": "Not Found",
"status": 404,
"detail": "ugwo_activity.error.not_found"
}
⌘I

