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 "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
{
"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 · Optionalstring
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.
eventsarrayRead 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 | nullRecord ID, or null if invalid.
events[].actorobject | nullMember 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[].actionstringmember_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 | nullMember 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 | nullMasked target email when no target user ID is available, such as p***@e***; null otherwise or when invalid.
events[].enabledboolean | nullRecorded 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 | nullISO 8601 timestamp, or null when absent or invalid.
nextCursorstring | nullLast returned record ID only when more records exist; otherwise null. Pass it as before for the next page.