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 XOR Application authorisation: either a person acting on their own Entitlements, or an Application acting as itself (e.g. with an OAuth2 client-credentials token) on its Consumer's Scopes. A person calling through a Consumer does not get that Consumer's Scopes. See here for more information.
This endpoint supports User XOR Application authorisation: either a person acting on their own Entitlements, or an Application acting as itself (e.g. with an OAuth2 client-credentials token) on its Consumer's Scopes. A person calling through a Consumer does not get that Consumer's Scopes. See here for more information.
This endpoint supports User XOR Application authorisation: either a person acting on their own Entitlements, or an Application acting as itself (e.g. with an OAuth2 client-credentials token) on its Consumer's Scopes. A person calling through a Consumer does not get that Consumer's 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.