Real rows: the agents provisioned for this tenant, oldest first, archived ones
excluded.
can, approve and view are null, not [], and the difference is the
point.An empty ability list is a meaningful value in the declarative surface: an agent
declared with no abilities is a real, intentional configuration. Reporting
“unknown” as “none” would understate an agent’s authority — which is the one
direction an operator must never be misled in.So: null means this build cannot tell you. It does not mean the agent has no
abilities. Do not render it as “no permissions”.
Fields
Why this works while GET /v1/teams does not
The roster is the one team-shaped read that needs no team name. It is keyed on
(company, tenant), which is stored everywhere; team enumeration needs the
declared team name, which is not readable here. See
Teams.