> ## 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.

# List activities

> Page through activities run against an ugwo.

Returns a [cursor-paginated](/pagination) list of every activity that
has been recorded against this ugwo, newest first.

## Path parameters

<ParamField path="ugwoUid" type="string" required>
  The ugwo ID, `ugw.XXXX.YYYY...`.
</ParamField>

## Query parameters

<ParamField query="cursor" type="string">Pagination cursor from the previous page.</ParamField>
<ParamField query="limit" type="integer" default="10">Page size, between `1` and `100`.</ParamField>

## Response

<ResponseField name="data" type="Activity[]">
  Activities, matching the shape returned by [Charge an
  ugwo](/ugwo/create-activity#response).
</ResponseField>

<ResponseField name="next_cursor" type="string | null">Cursor for the next page, or `null` on the last page.</ResponseField>

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

  ```js Node theme={null}
  const params = new URLSearchParams({ limit: "20" });
  const page = await fetch(
    `https://api.kwugwo.africa/v1/ugwo/${ugwoUid}/activities?${params}`,
    { headers: { Authorization: `Bearer ${process.env.KWUGWO_SECRET_KEY}` } }
  ).then(r => r.json());
  ```

  ```php PHP theme={null}
  <?php
  $ch = curl_init("https://api.kwugwo.africa/v1/ugwo/{$ugwoUid}/activities?limit=20");
  curl_setopt_array($ch, [
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_HTTPHEADER     => ['Authorization: Bearer ' . getenv('KWUGWO_SECRET_KEY')],
  ]);
  $page = json_decode(curl_exec($ch), true);
  curl_close($ch);
  ```

  ```python Python theme={null}
  import os, requests

  page = requests.get(
      f"https://api.kwugwo.africa/v1/ugwo/{ugwo_uid}/activities",
      headers={"Authorization": f"Bearer {os.environ['KWUGWO_SECRET_KEY']}"},
      params={"limit": 20},
  ).json()
  ```

  ```go Go theme={null}
  url := fmt.Sprintf("https://api.kwugwo.africa/v1/ugwo/%s/activities?limit=20", ugwoUid)
  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}
  {
    "data": [
      {
        "uid": "act.VCvr.qnbBJaElzSTHOcaTzxbuDlIs",
        "activity_type": "charge",
        "status": "requires_action",
        "psp": "paystack_ng",
        "psp_external_id": "5kfxw34ugz",
        "checkout": {
          "uid": "chk.VCvr.vBtGwathtd99FpQGIGwIAATX",
          "currency": ["NGN", "Nigerian Naira (NGN)"],
          "mediums": [{ "medium": "bank_transfer" }, { "medium": "ussd" }]
        },
        "ugwo_medium": null,
        "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"
          }
        },
        "error": null,
        "created_at": "2026-05-14T19:55:50+00:00",
        "updated_at": "2026-05-14T19:55:51+00:00"
      }
    ],
    "next_cursor": null
  }
  ```
</ResponseExample>
