Grants a user access to the Network, or changes an existing collaborator's role.
Grants the given user the specified role, or upgrades/downgrades their existing role. A new grant with no role defaults to Viewer. The last remaining Admin cannot be demoted. Roles: Viewer (read), Editor (read + configure), Admin (everything, including managing collaborators). Applies immediately.
Authorization
Bearer JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.
In: header
Path Parameters
The owning Network id.
uuidThe tenant identifier
The collaborator user and role.
The FruxonUser id to grant access to.
The role to assign. When null, an existing role is preserved (create defaults to Viewer).
"UNSPECIFIED" | "VIEWER" | "EDITOR" | "ADMIN"Which alerts reach this collaborator. When null the existing preferences are preserved, so a caller changing only a role cannot silently reset someone's notification settings.
Response Body
curl -X PUT "https://api.fruxon.com/v1/tenants/string/networks/497f6eca-6276-4993-bfeb-53cbbbba6f08/collaborators" \ -H "Content-Type: application/json" \ -d '{ "userId": "string" }'{
"networkId": "00000000-0000-0000-0000-000000000000",
"userId": "string",
"role": "VIEWER",
"status": "PENDING",
"alertPreferences": {
"channels": {}
},
"createdAt": 0,
"modifiedAt": 0,
"tenantId": "00000000-0000-0000-0000-000000000000"
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}Removes a collaborator's access from the Network.
Revokes the user's grant. Cannot remove the last remaining Admin — the request is rejected so the Network never becomes orphaned from explicit administration. Idempotent against users with no current grant. Applies immediately.
Rejects a pending access request, removing it.
Deletes the pending row and emails the requester the decision. Requires Admin on the Application. The user keeps no trace of the request and may ask again. Scoped to the pending row only, so an approval that lands first is never silently undone by a rejection arriving late. Rejected with 400 when the user has no pending request.