agentrouter.identity.v1.IdentityService
IdentityService carries the admin-side endpoints that the auth middleware and onboarding paths need. ResolveApiKey (milestones A+B), the GetUser/ListUsers directory lookups and the BanUser/UnbanUser moderation pair are landed; the rest of the admin surface ships in milestone C.
Every RPC here names its subject in the request. That is the line against MeService: an RPC that acts on ANOTHER user belongs on this service even when only a session may call it (BanUser/UnbanUser). Doc visibility is per-RPC: ResolveApiKey stays out of the customer reference via its "internal" scope, while the GetUser/ListUsers directory lookups are customer-facing (users_reader scope, which admin satisfies through implication; accept API_KEY).
ListSSOProviders
ListSSOProviders returns every registered provider. Secrets are never
CreateOrUpdateSSOProvider
CreateOrUpdateSSOProvider upserts the deployment's SSO provider row. The
GetSSOProvider
GetSSOProvider returns one provider by id. Same secret rule as the list.
DeleteSSOProvider
DeleteSSOProvider removes a provider row. Corporate login stops working the
ListUsers
ListUsers batch-resolves user_ids to directory entries in one call,
SearchUsers
SearchUsers browses the directory the way the admin console's Users
GetUserStats
GetUserStats returns the per-status counts the Users page's stat
GetUser
GetUser resolves a single user_id to its directory entry (email +
DeleteUser
DeleteUser soft-deletes a user (fraser#8692). The authn.user row is
BanUser
BanUser bans a user (authn.user.banned = true) with a reason, and
RestoreUser
RestoreUser reverses DeleteUser: it clears deleted_at/deleted_by, and
RevokeUserSessions
RevokeUserSessions signs a user out everywhere by deleting every
UnbanUser
UnbanUser clears a user's ban (authn.user.banned, ban_reason,