> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kwugwo.africa/llms.txt
> Use this file to discover all available pages before exploring further.

# Get an activity

> Fetch a specific activity by ID.

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

<ParamField path="ugwoUid" type="string" required>
  The ugwo the activity belongs to, `ugw.XXXX.YYYY...`.
</ParamField>

<ParamField path="activityUid" type="string" required>
  The activity ID, `act.XXXX.YYYY...`.
</ParamField>

## Response

Shape matches [Charge an ugwo](/ugwo/create-activity#response).

<RequestExample>
  ```bash cURL theme={null}
  curl https://api.kwugwo.africa/v1/ugwo/ugw.VCvr.7K2qPmRtV9xLnQ8sD1cYwHfE/activities/act.VCvr.qnbBJaElzSTHOcaTzxbuDlIs \
    -H "Authorization: Bearer $KWUGWO_SECRET_KEY"
  ```

  ```js Node theme={null}
  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 PHP theme={null}
  <?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);
  ```

  ```python Python theme={null}
  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()
  ```

  ```go Go theme={null}
  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()
  ```
</RequestExample>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "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"
  }
  ```

  ```json 404 Not Found theme={null}
  {
    "type": "https://tools.ietf.org/html/rfc2616#section-10",
    "title": "Not Found",
    "status": 404,
    "detail": "ugwo_activity.error.not_found"
  }
  ```
</ResponseExample>
