Upsert business unit membership
POST /internal/companies/{companyId}/business-units/{businessUnitId}/memberships
POST
/internal/companies/{companyId}/business-units/{businessUnitId}/memberships
PLATFORM_ADMIN / PLATFORM_SUPERADMIN, or company ADMIN/FINANCE/TENANT_SUPERADMIN in companyId.
PLATFORM_MODERATOR is not allowed. businessUnitId must match Finance BusinessUnit.id (UUID contract).
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ” companyId
required
string format: uuid
businessUnitId
required
string format: uuid
Request Body required
Section titled “Request Body required ”object
userId
required
string format: uuid
role
required
string
isActive
boolean
metadata
Optional JSON object (invoice scope keys; see README_AUTH_API.md).
Responses
Section titled “ Responses ”Membership saved
object
success
required
boolean
data
required
data
object
id
string format: uuid
userId
string format: uuid
companyId
string format: uuid
businessUnitId
string format: uuid
role
string
isActive
boolean
invoiceViewScope
string
canEditOthersScope
string
canEditOthersInvoices
boolean
metadata
Validation error
object
success
required
boolean
error
required
object
code
required
string
Example
validation_error message
required
string
Missing/invalid token or credentials
object
success
required
boolean
error
required
object
code
required
string
Example
validation_error message
required
string
Authenticated but not allowed (e.g. wrong role or invalid internal key)
object
success
required
boolean
error
required
object
code
required
string
Example
validation_error message
required
string