Get ABAC Rule Schema
GET /obp/v7.0.0/management/abac-rules-schema
OBPv6.0.0-getAbacRuleSchema Roles: CanGetAbacRule ABAC
Get schema information about ABAC rule structure for building rule code.
This endpoint returns schema information including:
- All 18 parameters available in ABAC rules
- Object types (User, Bank, Account, etc.) and their properties
- Available operators and syntax
- Example rules
This schema information is useful for:
- Building rule editors with auto-completion
- Validating rule syntax in frontends
- AI agents that help construct rules
- Dynamic form builders
User Authentication is Required. The User must be logged in. The Application must also be authenticated.
JSON response body fields (15)
- available_operators
- available_operators
- category
- description
- Description of the object. Maximum length is 2000. It can be any characters here.
- examples
- examples
- is_active
- false
- name
- ACCOUNT_MANAGEMENT_FEE
- notes
- notes
- object_types
- object_types
- parameters
- policy
- policy
- properties
- properties
- required
- required
- rule_code
- rule_code
- rule_name
- rule_name
- type
Example success response
{
"parameters": [
{
"name": "authenticatedUser",
"type": "User",
"description": "The logged-in user (always present)",
"required": true,
"category": "User"
}
],
"object_types": [
{
"name": "User",
"description": "User object with profile information",
"properties": [
{
"name": "userId",
"type": "String",
"description": "Unique user ID"
}
]
}
],
"examples": [
{
"rule_name": "Check User Identity",
"rule_code": "authenticatedUser.userId == user.userId",
"description": "Verify that the authenticated user matches the target user",
"policy": "user-access",
"is_active": true
},
{
"rule_name": "Check Specific Bank",
"rule_code": "bankOpt.isDefined && bankOpt.get.bankId.value == \"gh.29.uk\"",
"description": "Verify that the bank context is defined and matches a specific bank ID",
"policy": "bank-access",
"is_active": true
}
],
"available_operators": [
"==",
"!=",
"&&",
"||",
"!",
">",
"<",
">=",
"<=",
"contains",
"isDefined"
],
"notes": [
"Only authenticatedUser is guaranteed to exist (not wrapped in Option)",
"All other objects are Option types - use isDefined or pattern matching",
"Attributes are Lists - use .find(), .exists(), .forall() etc."
]
}Possible errors (3)
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-50000: Unknown Error.