Replace the users with access to a document
/documents/{id}/user-permissionsMakes the users you send the only users listed on the document and returns every member. Up to 500 distinct members. Members left out are removed; a changed level moves the user; new members are granted. Needs write access to the document, else 403 forbidden. 422 on a bad body. dry_run previews it. Emits document.updated with changed_fields user_permissions when the set changed, after commit; no email. Records an analytics event for each user added or removed. Inherited members stay. Sending the old members undoes it.
Path parameters
The record's id.
Query parameters
Validate and run the call without committing it, returning what the real call would return with
meta.dry_runset.
Headers
Makes a retry safe. Send a new UUID for each new request and reuse it only to retry that request; the first response is replayed for 24 hours.
Request body
application/json, required · DocumentUserPermissionReplace
Every user that should have access, at most 500 with distinct ids. Anyone left out loses access.
{
"members": [
{
"id": "9d8c7b6a-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"level": "write"
}
]
}Responses
{
"data": [
{
"id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
"level": "read"
}
]
}Authorization failed. error.code is one of org_disabled,
ip_blocked, missing_scope, scope_disabled, user_disabled.
The request can't be processed (HTTP 422): validation_failed with one ErrorDetail per
problem, or a code documented on the operation.
Examples
curl -X PUT https://your-org-domain/kong/core/api/v2/documents/{id}/user-permissions\
-H "Authorization: Bearer $HELM_API_KEY"\
-H "Content-Type: application/json"\
-d '{
"members": [
{
"id": "9d8c7b6a-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"level": "write"
}
]
}'