Team

Audience: Customer — this page documents team management and seat allocation.

The team page (/dashboard/team) manages developer seats and shows team member activity.


URL

/dashboard/team

Access

Available to all plans. No feature gate.


Data Source

GET /api/v1/team

Returns:

{
  "members": [...],
  "seats": 3,
  "used": 2
}

How Members Appear

Team members are auto-populated — they appear automatically when they send events using the account's API key. There is no manual "invite" flow. When a developer installs the AI-Pooler with the team's API key, their git email is captured (encrypted) and they appear in the team table.


Seat Counter

Displayed in the header: {used} / {seats} seats used

The number of seats is determined by the subscription (configured in billing). Each unique developer (identified by git email hash) counts as one seat.


Team Table

Column Description
# Row number
Member Display name (if set) and email (decrypted or hash fallback)
First Seen Date the member first sent events
Last Active Date of most recent event
Hourly Rate Developer's hourly rate in USD (if configured)
Events Total number of events sent
Actions Remove button (trash icon)

Encrypted Email Display

Member emails follow the decryption hierarchy:

  1. Plaintext email — Shown directly (if available)
  2. Encrypted email — Decrypted using DecryptedValue component (if encryption key is active)
  3. Hash fallback — Truncated hex hash (e.g., a1b2c3d4e5f6g7h8...)

Edit Member Modal

Clicking a table row opens the edit modal with:

Field Type Description
Git Email Read-only The member's email (decrypted or hash)
Display Name Editable Friendly name shown in the team table
Hourly Rate Editable USD per hour, used for True Cost calculations

Read-Only Stats

Stat Description
Events Total event count
First Seen Date first seen
Last Active Most recent activity date

Save Action

PATCH /api/v1/team/{gitEmailHash}

Body:

{
  "displayName": "John Doe",
  "hourlyRate": 75
}

Setting hourlyRate to null clears the rate. Setting displayName to null clears the display name.


Hourly Rate

The hourly rate is used throughout the dashboard to calculate:

  • True Cost = AI Cost + (Active Time × Hourly Rate)
  • True Cost/Line = AI Cost/Line + (Hourly Rate / Lines per Hour)
  • Estimated Loss = Violation fix time × Hourly Rate

When no hourly rate is set, these calculations show AI cost only.


Remove Member

DELETE /api/v1/team/{gitEmailHash}

Removes the member from the team. This does not delete their historical data — events, sessions, and violations remain for analysis. The member will reappear if they send new events.


See Also