List users in business unit
GET /internal/companies/{companyId}/business-units/{businessUnitId}/users
Users with an active business_unit_memberships row for (companyId, businessUnitId).
Platform staff or company MANAGER and above in companyId.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Query Parameters
Section titled “Query Parameters ”Responses
Section titled “ Responses ”User list
object
object
null when the user has no company membership rows; otherwise an array of company memberships with nested BU rows for that company only.
object
Tenant IAM role (e.g. MANAGER company-wide; FINANCE; SUBMITTER). Distinct from BU role on businessUnitMemberships.
Optional per-user-per-company approval limit (decimal string; migrated from Finance)
Echoed from metadata.invoiceViewScope when set (OWN | BU | COMPANY). Company-level when user has no BU rows or as default; see README_AUTH_API.md §5.2a.
Echoed from metadata.canEditOthersScope when set.
Echoed from metadata.canEditOthersInvoices when set (legacy boolean).
Optional JSON object. Recommended keys for Finance invoice/bill visibility and editing others’ drafts — see README_AUTH_API.md (invoice scope metadata). Omitted on upsert leaves existing metadata unchanged. invoiceViewScope / canEditOthersScope / canEditOthersInvoices are also returned as top-level fields when present.
Business unit memberships for this user within this company (empty key omitted).
object
BU IAM — APPROVER (manager), SUBMITTER, or BU ADMIN; combine with invoiceViewScope for bills.
Echoed from metadata when set (per-BU invoice list scope).
Optional JSON object. For SUBMITTER (and product-defined cases), use invoice scope keys per README_AUTH_API.md. Finance migration may set invoiceViewScope and canEditOthersInvoices (boolean). Scope keys are also echoed as top-level fields when present.
BU membership rows whose company_id does not match any company_memberships row for this user (e.g. migration gaps). For repair; normal rows appear under memberships[].businessUnitMemberships.
object
BU IAM — APPROVER (manager), SUBMITTER, or BU ADMIN; combine with invoiceViewScope for bills.
Echoed from metadata when set (per-BU invoice list scope).
Optional JSON object. For SUBMITTER (and product-defined cases), use invoice scope keys per README_AUTH_API.md. Finance migration may set invoiceViewScope and canEditOthersInvoices (boolean). Scope keys are also echoed as top-level fields when present.
Missing/invalid token or credentials
object
object
Example
validation_errorAuthenticated but not allowed (e.g. wrong role or invalid internal key)
object
object
Example
validation_error