Update the Access Guardrail identified by id
put
/access-governance/access-controls/20250331/accessGuardrails/{accessGuardrailId}
Updates the Access Guardrail.
Currently, when editing access guardrails via the UI, fields related to condition handling may need to be reapplied.
Request
Path Parameters
-
accessGuardrailId(required): string
Unique Access Guardrail identifier
Header Parameters
-
if-match: string
For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.
-
opc-request-id: string
The client request ID for tracing. The only valid characters for request IDs are letters, numbers, underscore, and dash.
The information to be updated.
Root Schema : UpdateAccessGuardrailDetails
Type:
objectThe information to be updated.
Show Source
-
actionOnFailure:
object ActionOnFailure
The information about remediation in case of condition failure.
-
description:
string
Minimum Length:
0Maximum Length:4000Description of the AccessGuardrail. -
isDetectiveViolationCheckEnabled:
boolean
Set to true for enabling detective violation check
-
name:
string
Minimum Length:
0Maximum Length:255AccessGuardrail Identifier -
owners:
array owners
List of owner entities.
-
rules:
object RuleCollection
Collection of rule.
-
tags:
array tags
Tags for the AccessGuardrail.
Nested Schema : ActionOnFailure
Type:
objectThe information about remediation in case of condition failure.
Show Source
-
actionType(required):
string
Allowed Values:
[ "REVOKE_IMMEDIATELY", "REVOKE_LATER" ]Action to be taken in case of access guardrail evaluation results in failure. -
revokeLaterAfterNumberOfDays:
integer
Minimum Value:
0Maximum Value:90Revoke permission after number of days. -
risk:
string
Allowed Values:
[ "HIGH", "LOW" ]Risk associated with action on failure. -
shouldUserManagerBeNotified(required):
boolean
Should the user manager be notified in case of access guardrail evaluation results in failure.
Nested Schema : owners
Type:
arrayList of owner entities.
Show Source
-
Array of:
object OwnerSummary
Owner entity object
Nested Schema : RuleCollection
Type:
objectCollection of rule.
Show Source
-
items(required):
array items
List of rule.
Nested Schema : OwnerSummary
Type:
objectOwner entity object
Show Source
-
id(required):
string
Unique identifier that is immutable on creation
-
isPrimary(required):
boolean
Is this entity the primary owner?
-
name(required):
string
Name of the owner
Nested Schema : items
Type:
arrayList of rule.
Show Source
-
Array of:
object Rule
The information about Rule.
Nested Schema : Rule
Type:
objectThe information about Rule.
Show Source
-
conditions(required):
object ConditionCollection
Collection of conditions.
-
id:
string
AGCS Rule ID. Required when updating guardrail.
-
operator(required):
string
Allowed Values:
[ "AND", "OR" ]Rule operator for the rule. -
type(required):
string
Allowed Values:
[ "DEFAULT" ]Type of rule used for parsing the rule.
Nested Schema : ConditionCollection
Type:
objectCollection of conditions.
Show Source
-
items(required):
array items
List of condition.
Nested Schema : items
Type:
arrayList of condition.
Show Source
-
Array of:
object Condition
The information about Condition.
Nested Schema : Condition
Type:
objectThe information about Condition.
Show Source
-
additionalAttributes:
object additionalAttributes
Additional Properties Allowed: additionalPropertiesAdditional attributes for additional information related to the condition.
-
basicCondition(required):
object BasicCondition
The information about condition.
-
childConditions:
object BasicConditionCollection
Collection of conditions.
-
type(required):
string
Allowed Values:
[ "IDENTITY_ATTRIBUTE", "PERMISSION", "DOES_NOT_HAVE_PERMISSION" ]The type for AG Resource.
Nested Schema : additionalAttributes
Type:
objectAdditional Properties Allowed
Show Source
Additional attributes for additional information related to the condition.
Nested Schema : BasicCondition
Type:
objectThe information about condition.
Show Source
-
dataType:
string
Allowed Values:
[ "STRING", "NUMBER", "BOOLEAN", "DATE" ]Data type for the condition identifier (lhs) -
displayName(required):
string
Minimum Length:
1Maximum Length:255Access Guardrails Identifier -
lhs(required):
string
Minimum Length:
1Maximum Length:512Left hand side of the condition. -
operator(required):
string
Allowed Values:
[ "EQ", "NE", "GT", "LT", "GTE", "LTE", "BEFORE", "AFTER", "TILL", "FROM", "BETWEEN", "NOT_BETWEEN", "IN", "NOT_IN", "CONTAINS", "NOT_CONTAINS", "BEGINS_WITH", "NOT_BEGINS_WITH", "ENDS_WITH", "NOT_ENDS_WITH", "IS_NULL", "IS_NOT_NULL", "EQUAL_WITH_NULL" ]The operator for a access guardrail. -
rhs(required):
array rhs
Right hand side of the condition.
Nested Schema : BasicConditionCollection
Type:
objectCollection of conditions.
Show Source
-
items(required):
array items
List of condition.
Nested Schema : items
Type:
arrayList of condition.
Show Source
-
Array of:
object BasicCondition
The information about condition.
Response
Supported Media Types
- application/json
200 Response
The Access Guardrail was successfully updated.
Headers
-
etag: string
For optimistic concurrency control. See `if-match`.
-
opc-request-id: string
Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
Root Schema : AccessGuardrail
Type:
objectDescription of AccessGuardrail.
Show Source
-
actionOnFailure:
object ActionOnFailure
The information about remediation in case of condition failure.
-
createdBy:
string
User name of the use who created the AccessGuardrail.
-
description:
string
description of the AccessGuardrail.
-
id(required):
string
The Unique Oracle ID (OCID) that is immutable on creation.
-
isDetectiveViolationCheckEnabled:
boolean
Set to true for enabling detective violation check
-
lifecycleState(required):
string
Allowed Values:
[ "CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED" ]The current state of the AccessGuardrail. -
name:
string
A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
-
owners:
array owners
List of owner entities
-
ownershipCollectionId:
string
Id of the ownership collection associated with the AccessGuardrail.
-
primaryOwnerDisplayName:
string
DisplayName of the primary owner.
-
rules:
object RuleCollection
Collection of rule.
-
tags:
array tags
Tags for the AccessGuardrail.
-
timeCreated:
string(date-time)
The time the the AccessGuardrail was created. An RFC3339 formatted datetime string
-
timeUpdated:
string(date-time)
The time the the AccessGuardrail was updated. An RFC3339 formatted datetime string
-
updatedBy:
string
User name of the use who updated the AccessGuardrail.
Nested Schema : ActionOnFailure
Type:
objectThe information about remediation in case of condition failure.
Show Source
-
actionType(required):
string
Allowed Values:
[ "REVOKE_IMMEDIATELY", "REVOKE_LATER" ]Action to be taken in case of access guardrail evaluation results in failure. -
revokeLaterAfterNumberOfDays:
integer
Minimum Value:
0Maximum Value:90Revoke permission after number of days. -
risk:
string
Allowed Values:
[ "HIGH", "LOW" ]Risk associated with action on failure. -
shouldUserManagerBeNotified(required):
boolean
Should the user manager be notified in case of access guardrail evaluation results in failure.
Nested Schema : owners
Type:
arrayList of owner entities
Show Source
-
Array of:
object OwnerSummary
Owner entity object
Nested Schema : RuleCollection
Type:
objectCollection of rule.
Show Source
-
items(required):
array items
List of rule.
Nested Schema : OwnerSummary
Type:
objectOwner entity object
Show Source
-
id(required):
string
Unique identifier that is immutable on creation
-
isPrimary(required):
boolean
Is this entity the primary owner?
-
name(required):
string
Name of the owner
Nested Schema : items
Type:
arrayList of rule.
Show Source
-
Array of:
object Rule
The information about Rule.
Nested Schema : Rule
Type:
objectThe information about Rule.
Show Source
-
conditions(required):
object ConditionCollection
Collection of conditions.
-
id:
string
AGCS Rule ID. Required when updating guardrail.
-
operator(required):
string
Allowed Values:
[ "AND", "OR" ]Rule operator for the rule. -
type(required):
string
Allowed Values:
[ "DEFAULT" ]Type of rule used for parsing the rule.
Nested Schema : ConditionCollection
Type:
objectCollection of conditions.
Show Source
-
items(required):
array items
List of condition.
Nested Schema : items
Type:
arrayList of condition.
Show Source
-
Array of:
object Condition
The information about Condition.
Nested Schema : Condition
Type:
objectThe information about Condition.
Show Source
-
additionalAttributes:
object additionalAttributes
Additional Properties Allowed: additionalPropertiesAdditional attributes for additional information related to the condition.
-
basicCondition(required):
object BasicCondition
The information about condition.
-
childConditions:
object BasicConditionCollection
Collection of conditions.
-
type(required):
string
Allowed Values:
[ "IDENTITY_ATTRIBUTE", "PERMISSION", "DOES_NOT_HAVE_PERMISSION" ]The type for AG Resource.
Nested Schema : additionalAttributes
Type:
objectAdditional Properties Allowed
Show Source
Additional attributes for additional information related to the condition.
Nested Schema : BasicCondition
Type:
objectThe information about condition.
Show Source
-
dataType:
string
Allowed Values:
[ "STRING", "NUMBER", "BOOLEAN", "DATE" ]Data type for the condition identifier (lhs) -
displayName(required):
string
Minimum Length:
1Maximum Length:255Access Guardrails Identifier -
lhs(required):
string
Minimum Length:
1Maximum Length:512Left hand side of the condition. -
operator(required):
string
Allowed Values:
[ "EQ", "NE", "GT", "LT", "GTE", "LTE", "BEFORE", "AFTER", "TILL", "FROM", "BETWEEN", "NOT_BETWEEN", "IN", "NOT_IN", "CONTAINS", "NOT_CONTAINS", "BEGINS_WITH", "NOT_BEGINS_WITH", "ENDS_WITH", "NOT_ENDS_WITH", "IS_NULL", "IS_NOT_NULL", "EQUAL_WITH_NULL" ]The operator for a access guardrail. -
rhs(required):
array rhs
Right hand side of the condition.
Nested Schema : BasicConditionCollection
Type:
objectCollection of conditions.
Show Source
-
items(required):
array items
List of condition.
Nested Schema : items
Type:
arrayList of condition.
Show Source
-
Array of:
object BasicCondition
The information about condition.
400 Response
Bad Request
Headers
-
opc-request-id: string
Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
Root Schema : Error
Type:
objectError Information.
Show Source
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing.
-
message(required):
string
A human-readable error string.
401 Response
Unauthorized
Headers
-
opc-request-id: string
Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
Root Schema : Error
Type:
objectError Information.
Show Source
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing.
-
message(required):
string
A human-readable error string.
404 Response
Not Found
Headers
-
opc-request-id: string
Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
Root Schema : Error
Type:
objectError Information.
Show Source
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing.
-
message(required):
string
A human-readable error string.
412 Response
Precondition failed
Headers
-
opc-request-id: string
Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
Root Schema : Error
Type:
objectError Information.
Show Source
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing.
-
message(required):
string
A human-readable error string.
429 Response
Too Many Requests
Headers
-
opc-request-id: string
Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
Root Schema : Error
Type:
objectError Information.
Show Source
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing.
-
message(required):
string
A human-readable error string.
500 Response
Internal Server Error
Headers
-
opc-request-id: string
Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
Root Schema : Error
Type:
objectError Information.
Show Source
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing.
-
message(required):
string
A human-readable error string.
Default Response
Unknown Error
Headers
-
opc-request-id: string
Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
Root Schema : Error
Type:
objectError Information.
Show Source
-
code(required):
string
A short error code that defines the error, meant for programmatic parsing.
-
message(required):
string
A human-readable error string.
Examples
The following example shows how to update a access guardrail by submitting a PUT request. In this example, as an extension to create example, we will add another condition.
Note:
Generate Access Token usinggrant_type = password.
cURL Example
curl -i -L -X PUT \
-H "Authorization:Bearer <your-access-token>" \
-H "Content-Type:application/json" \
-d \
'{
"name": "employee-organization-guardrail",
"description": "Enforces access control based on employee type and organization",
"isDetectiveViolationCheckEnabled": true,
"tags": ["identity-attribute"],
"rules": {
"items": [
{
"id": "rule-xxx-1",
"type": "DEFAULT",
"operator": "AND",
"conditions": {
"items": [
{
"type": "IDENTITY_ATTRIBUTE",
"basicCondition": {
"displayName": "Employee type",
"operator": "EQ",
"lhs": "userType",
"rhs": ["Employee"],
"rhsUiDetails": [],
"dataType": "STRING"
},
"childConditions": {
"items": []
},
"additionalAttributes": null
},
{
"type": "IDENTITY_ATTRIBUTE",
"basicCondition": {
"displayName": "Source organization",
"operator": "IN",
"lhs": "organization.displayName",
"rhs": [
"Org A",
"Org B",
"Org C",
"Org D",
"Org E",
"Org F"
],
"rhsUiDetails": [],
"dataType": "STRING"
},
"childConditions": {
"items": []
},
"additionalAttributes": null
}
]
}
}
]
},
"actionOnFailure": {
"actionType": "REVOKE_LATER",
"risk": "LOW",
"revokeLaterAfterNumberOfDays": 10,
"shouldUserManagerBeNotified": false
},
"owners": [
{
"id": "ocid1.tenancy.oc1..xxxxxxownerid",
"name": "John Doe",
"isPrimary": true
}
]
}' \
'<${service-instance-url}/access-governance/access-controls/20250331/accessGuardrails/${accessGuardrailsID}>'Example Request Payload
{
"name": "employee-organization-guardrail",
"description": "Enforces access control based on employee type and organization",
"isDetectiveViolationCheckEnabled": true,
"tags": ["identity-attribute"],
"rules": {
"items": [
{
"id": "rule-xxx-1",
"type": "DEFAULT",
"operator": "AND",
"conditions": {
"items": [
{
"type": "IDENTITY_ATTRIBUTE",
"basicCondition": {
"displayName": "Employee type",
"operator": "EQ",
"lhs": "userType",
"rhs": ["Employee"],
"rhsUiDetails": [],
"dataType": "STRING"
},
"childConditions": {
"items": []
},
"additionalAttributes": null
},
{
"type": "IDENTITY_ATTRIBUTE",
"basicCondition": {
"displayName": "Source organization",
"operator": "IN",
"lhs": "organization.displayName",
"rhs": [
"Org A",
"Org B",
"Org C",
"Org D",
"Org E",
"Org F"
],
"rhsUiDetails": [],
"dataType": "STRING"
},
"childConditions": {
"items": []
},
"additionalAttributes": null
}
]
}
}
]
},
"actionOnFailure": {
"actionType": "REVOKE_LATER",
"risk": "LOW",
"revokeLaterAfterNumberOfDays": 10,
"shouldUserManagerBeNotified": false
},
"owners": [
{
"id": "ocid1.tenancy.oc1..xxxxxxownerid",
"name": "John Doe",
"isPrimary": true
}
]
}Example of the Response Body
The following example shows the contents of the response body in JSON format:
{
"id": "ocid1.tenancy.oc1..xxxxxxguardrailid",
"name": "employee-organization-guardrail",
"description": "Enforces access control based on employee type and organization",
"timeCreated": "2026-04-24T14:30:44.785Z",
"timeUpdated": "2026-04-27T05:32:47.645Z",
"lifecycleState": "ACTIVE",
"isDetectiveViolationCheckEnabled": true,
"tags": [
"identity-attribute"
],
"rules": {
"items": [
{
"id": "rule-xxx-1",
"type": "DEFAULT",
"operator": "AND",
"conditions": {
"items": [
{
"type": "IDENTITY_ATTRIBUTE",
"basicCondition": {
"displayName": "Employee type",
"operator": "EQ",
"lhs": "userType",
"rhs": [
"Employee"
],
"rhsUiDetails": [],
"dataType": "STRING"
},
"childConditions": {
"items": []
},
"additionalAttributes": null
},
{
"type": "IDENTITY_ATTRIBUTE",
"basicCondition": {
"displayName": "Source organization",
"operator": "IN",
"lhs": "organization.displayName",
"rhs": [
"Org A",
"Org B",
"Org C",
"Org D",
"Org E",
"Org F"
],
"rhsUiDetails": [],
"dataType": "STRING"
},
"childConditions": {
"items": []
},
"additionalAttributes": null
}
]
}
}
]
},
"actionOnFailure": {
"actionType": "REVOKE_LATER",
"risk": "LOW",
"revokeLaterAfterNumberOfDays": 10,
"shouldUserManagerBeNotified": false
},
"ownershipCollectionId": "ocid1.tenancy.oc1..xxxxxxcollectionid",
"primaryOwnerDisplayName": "John Doe",
"owners": null,
"createdBy": "John Doe",
"updatedBy": "John Doe"
}