---
title: Team activity (GET /api/v2/activity) | HelpRange API
description: GET /api/v2/activity: The Activity feed, newest first: views, new links, data room events, offers, e-signature, store purchases, uploads and (administrators) team events.
url: https://www.helprange.com/developers/api/list-activity
---

GET

# Team activity

`https://www.helprange.com/api/v2/activity`

The Activity feed, newest first: views, new links, data room events, offers, e-signature, store purchases, uploads and (administrators) team events. Members see events of their own documents. Page back with before=next_before.

**Plans:** Max, Unlimited, Deal Room Pass, trial. **Auth:** `Authorization: Bearer hr_live_…` (team key), `X-API-Key`, `Authorization: Api-Key <key>` or an OAuth `Bearer` token. **Scope:** `analytics:read`. **Operation id:** `listActivity`

## Parameters

| Name | In | Type | Description |
|---|---|---|---|
| `type` | query | "views" / "sharing" / "rooms" / "offers" / "esign" / "store" / "uploads" / "team" | Only one kind of event ("team": administrators only). |
| `limit` | query | integer | 1–200 (default 30). (min 1, max 200) |
| `before` | query | string | Only events before this time: next_before of the previous page. |
| `member_id` | query | integer | Administrators: only this team member's events. |

## Example request

```
curl -X GET 'https://www.helprange.com/api/v2/activity?type=esign&limit=2' \
  -H "X-API-Key: $HELPRANGE_API_KEY"
```

```
const res = await fetch('https://www.helprange.com/api/v2/activity?type=esign&limit=2', {
  method: 'GET',
  headers: {'X-API-Key': process.env.HELPRANGE_API_KEY},
});
const data = await res.json();
if (!res.ok) throw new Error(`${res.status}: ${data.error || data.message || data.reason}`);
console.log(data);
```

```
import os

import requests

r = requests.get(
    'https://www.helprange.com/api/v2/activity',
    headers={'X-API-Key': os.environ['HELPRANGE_API_KEY']},
    params={
        "type": "esign",
        "limit": 2,
    },
    timeout=60,
)
r.raise_for_status()
print(r.json())
```

The samples read the key from the `HELPRANGE_API_KEY` environment variable.

## Responses

| Status | Description |
|---|---|
| `200` | OK |
| `400` | Invalid input – the message says which parameter. |
| `401` | Missing or invalid API key / OAuth token. Team keys: code invalid_key, key_revoked, key_expired or key_owner_removed. |
| `402` | Your plan does not include the REST API (or this feature). |
| `403` | The team API key lacks the scope this endpoint needs. |
| `405` | Wrong HTTP method for this endpoint. |
| `429` | A usage limit was reached – wait Retry-After seconds. |

Example response · 200

```
{
  "events": [
    {
      "at": "2026-11-10T09:12:40+00:00",
      "type": "esign",
      "text": "anna@client.com signed \"NDA\"",
      "detail": "",
      "url": "https://www.helprange.com/user/signature-doc?signatureId=9f1c2e7a4b"
    }
  ],
  "more": true,
  "next_before": "2026-11-10T09:12:40.123456+00:00"
}
```

## Try it

**Uses your real account.** The request goes from your browser straight to `www.helprange.com` with your API key and acts as you. The key stays in this page (in this tab's session storage only if you tick the box), is never put in a URL and is not sent to analytics. Do not paste a key on a shared computer.
 API key

  Remember in this tab

type (query)

limit (query)

before (query)

member_id (query)

```

```
