Create Dynamic Entity Definition
POST /obp/v7.0.0/management/banks/BANK_ID/dynamic-entities
OBPv7.0.0-createDynamicEntityDefinition Roles: CanCreateDynamicEntityDefinition(per bank) Dynamic-Entity-ManageAPI
Create a Dynamic Entity definition in one space.
BANK_ID is the space the definition lives in: the id of a bank, or SYS for the system space.
The Role is checked at that BANK_ID, so a Role granted at SYS covers the system space and nothing else.
Every response carries bank_id, SYS included.
The request body is the same as v6.0.0's: entity_name in lowercase snake_case, the access flags
(has_personal_entity, has_public_access, has_community_access, personal_requires_role,
use_row_level_access, auth_mode) and a schema whose every property carries an example.
The caller is granted the new entity's Record Roles (CanCreateDynamicEntityRecord_<entity_name> and
its Get, Update and Delete siblings) at the same BANK_ID.
For more information see here and here
User Authentication is Required. The User must be logged in. The Application must also be authenticated.
This endpoint supports User OR Application authentication. You can authenticate either as a logged-in User (with Entitlements) or as an Application using a Consumer Key (with Scopes). See here for more information.
This endpoint supports User OR Application authentication. You can authenticate either as a logged-in User (with Entitlements) or as an Application using a Consumer Key (with Scopes). See here for more information.
This endpoint supports User OR Application authentication. You can authenticate either as a logged-in User (with Entitlements) or as an Application using a Consumer Key (with Scopes). See here for more information.
Example request body
{
"entity_name": "customer_preferences",
"has_personal_entity": true,
"schema": {
"description": "User preferences",
"required": [
"theme"
],
"properties": {
"theme": {
"type": "string",
"minLength": 1,
"maxLength": 20,
"example": "dark",
"description": "The UI theme preference",
"indexed": true
},
"language": {
"type": "string",
"minLength": 2,
"maxLength": 5,
"example": "en",
"description": "ISO language code"
}
}
}
}Example success response
{
"dynamic_entity_id": "abc-123-def",
"entity_name": "customer_preferences",
"user_id": "user-456",
"bank_id": "SYS",
"has_personal_entity": true,
"has_public_access": false,
"has_community_access": false,
"personal_requires_role": false,
"use_row_level_access": false,
"auth_mode": "UserOnly",
"schema": {
"description": "User preferences",
"required": [
"theme"
],
"properties": {
"theme": {
"type": "string",
"minLength": 1,
"maxLength": 20,
"example": "dark",
"description": "The UI theme preference",
"indexed": true
},
"language": {
"type": "string",
"minLength": 2,
"maxLength": 5,
"example": "en",
"description": "ISO language code"
}
}
}
}Possible errors (6)
- OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-10001: Incorrect json format.
- OBP-50000: Unknown Error.
- OBP-20200: The application cannot be identified.