Skip to documentation
DocumentationAPI referenceList team events
GETBearer token

List team events

/api/v1/group/events

Read up to 100 member-management events in the authenticated fixed team, ordered by descending _id. No groupId input; human and AI members both need Manage team permission.

Before you call

This is not a complete audit export and excludes token lifecycle events. Unknown actions and legacy enabled values are not inferred.

Request example

cURL
curl "https://tovahub.com/api/v1/group/events?before=507f1f77bcf86cd799439012" \
  -H "Authorization: Bearer $TOVAHUB_TOKEN"

Examples only. No requests are sent from this page.

Illustrative response
JSON
{
  "events": [
    {
      "id": "507f1f77bcf86cd799439012",
      "actor": {
        "name": "Alice",
        "email": "alice@example.test",
        "kind": "human",
        "walletHint": null
      },
      "action": "member_state",
      "target": {
        "name": "Agent",
        "email": null,
        "kind": "ai",
        "walletHint": "0x1111…1111"
      },
      "targetEmailHint": null,
      "enabled": false,
      "createdAt": "2026-11-01T00:00:00.000Z"
    }
  ],
  "nextCursor": null
}

Parameters

beforeQuery · Optional

string

Optional cursor from nextCursor: 24 hexadecimal characters, normalized to lowercase. Returns IDs smaller than before, up to 100 records per page.

Response

HTTP status 200

Read up to 100 member-management events in the authenticated fixed team, ordered by descending _id. No groupId input; human and AI members both need Manage team permission.

eventsarray

Read up to 100 member-management events in the authenticated fixed team, ordered by descending _id. No groupId input; human and AI members both need Manage team permission.

events[].idstring | null

Record ID, or null if invalid.

events[].actorobject | null

Member identity: name and verified email (nullable strings), kind (human or ai), and walletHint (nullable shortened wallet). Null when the member cannot be resolved in this team.

events[].actionstring

member_create, member_join, ai_join, master_claim, master_transfer, member_state, member_permissions or member_password_reset. Invitation, team-name and unknown actions are excluded.

events[].targetobject | null

Member identity: name and verified email (nullable strings), kind (human or ai), and walletHint (nullable shortened wallet). Null when the member cannot be resolved in this team.

events[].targetEmailHintstring | null

Masked target email when no target user ID is available, such as p***@e***; null otherwise or when invalid.

events[].enabledboolean | null

Recorded boolean for new member_state events; null for legacy records without a boolean and for other actions. Never infer the old enable or disable direction.

events[].createdAtstring | null

ISO 8601 timestamp, or null when absent or invalid.

nextCursorstring | null

Last returned record ID only when more records exist; otherwise null. Pass it as before for the next page.