Britive platform release 2026.09.02 is now live in production.

Update permission variable values and version

Prev Next
Patch
/api/resource-manager/profiles/{profileId}/permissions/{permissionId}

Update a profile-permission mapping. variables - omit to keep, [] to clear, non-empty to replace. version - omit to keep current.

Security
HTTP
Type bearer
Path parameters
profileId
stringRequired

profile id to which permission got associated

permissionId
stringRequired

permission id to update details

Body parameters

update resource profile permission details

Expand All
object
permissionId
string
version
string

Permission version - latest, local or a number. Optional on update.

permissionName
string
description
string
resourceTypeId
string
resourceTypeName
string
variables
Array of object (VariableValues)

Bindings set on this profile - they override the permission's variableDefaults.

object

Variable binding on a profile-permission. Three mutually exclusive runtime resolution states encoded by (isSystemDefined, promptAtCheckout): Static (both false; value is literal); System-defined (isSystemDefined=true; server resolves at runtime); Prompt-at-checkout (promptAtCheckout=true; end user supplies at checkout via Settings.checkoutVariableValues). isSystemDefined=true AND promptAtCheckout=true is rejected (RM-0027). Sending a non-blank value in a state that resolves it at checkout is rejected (RM-0031) — see the value property.

name
string
value
string

Populated in the Static state, and in the System-defined state for type=String (the system template). Null for Prompt-at-checkout and for a System-defined type=password, both of which resolve the value at checkout. Sending a non-blank value in either of those two resolved states is rejected at attach and update (400 RM-0031) rather than silently dropped, so declarative clients do not see a permanent diff on the field. A blank value is accepted and normalized to null.

isSystemDefined
boolean

marks the System-defined state - value is server-generated for type=password (RM-0031), otherwise it must be a system defined value (RM-0037)

Defaultfalse
promptAtCheckout
boolean

Marks the Prompt-at-checkout state. Applies to any type, including String. The end user supplies the value at checkout, so a non-blank value on the binding is rejected (RM-0031). Mutually exclusive with isSystemDefined. Legacy records (no flag) are interpreted as promptAtCheckout=true iff type=password AND isSystemDefined=false.

Defaultfalse
regexPattern
string

Java-compatible regular expression constraining this variable's value (syntax-checked at attach time; 400 RM-0023 when invalid). For type=password: required in every state (RM-0022) — governs server-side generation (System-defined) and validation of user-supplied values (Prompt-at-checkout); a password must be system-defined or prompt-at-checkout (static rejected, RM-0028). For type=String: optional, and only valid with promptAtCheckout=true -- sending it in the system-defined or static state is rejected (400 RM-0032) rather than silently dropped, so declarative clients do not see a permanent diff on the field.

description
string

Optional human-readable explanation of regexPattern, shown to the end user at checkout so they understand what a valid value looks like. Valid only alongside a regexPattern (any type); sending it without one is rejected (400 RM-0033), keeping the two in lockstep.

Responses
204

permission details got updated successfully

400

Invalid version or variable binding, resource type mismatch, or version change during an active checkout.

404

permission id does not exist