Dashboard UI for creating, browsing, and managing service accounts and their API keys. Uses Phase 1 GraphQL APIs with no backend changes.
Design doc: plans/service-accounts.md.
Scope
Service Accounts list (under tenant admin area):
- Table: display name, prefix, created by, created date, API key count
- Scoped to the admin's current tenant prefix
- "Create Service Account" action
Service Account detail:
- Display name (editable), prefix (read-only, set at creation)
- API keys list: label, created date, expires date, status (active / expired)
- "Create API Key" action with copy-once secret display + configurable lifetime
- "Revoke API Key" action per key
- "Disable Service Account" action with confirmation
API key creation UX:
- Admin clicks "Create API Key"
- Enters label (e.g., "GitHub Actions") and lifetime (dropdown: 90 days, 180 days, 1 year, custom)
- System returns the
flow_sa_-prefixed secret — ready to use as a Bearer token
- Secret is displayed once in a copy-able field with a warning that it won't be shown again
- Admin copies and configures their CI/CD system
Verification
Dashboard UI for creating, browsing, and managing service accounts and their API keys. Uses Phase 1 GraphQL APIs with no backend changes.
Design doc: plans/service-accounts.md.
Scope
Service Accounts list (under tenant admin area):
Service Account detail:
API key creation UX:
flow_sa_-prefixed secret — ready to use as a Bearer tokenVerification