platform-admin

List Principal Names

Every principal's id and resolved name, unpaged -- the identical fix, for the identical reason, as GET /api/orgs/organizations/names (see that endpoint's own docstring in app/modules/orgs/routes.py).

apps/web/src/lib/usePrincipalNameLookup.ts fetched GET /principals?limit=200 for this; MAX_PAGE_LIMIT = 200 (registry.clamp_pagination) clamps that endpoint server-side regardless of what the caller asks for. Only 32 principals exist today, so nothing has actually fallen off that ceiling yet -- but that makes it a LATENT truncation bug, not a fixed one, and this defect class has now shipped four times (PR #205 for fulfillment/SlaPage.tsx, tickets' own org_name JOIN, /organizations/names above, now this). Fixed here before the roster ever crosses 200 rather than after.

Same admin:people:read gate as GET /principals -- this does not widen who can resolve a principal's name, only how completely. Resolves through registry.resolved_name_sql (preferred_name if the person set one, else display_name -- see _principal_to_dict's own note on this), the one name resolution every read site is meant to route through, and excludes removed principals (migration 0099 tombstone) the same way the default GET /principals list does.

get/api/platform/principals/names

Request

  • Base URL: https://api.pigeonly.com (the document declares no server; this is the origin it was published from)
  • URL: https://api.pigeonly.com/api/platform/principals/names
  • Auth: none declared

Response

Successful Response

object required

Changes

No recorded changes to this operation across all 1 revision of this API.