{
"openapi": "3.0.4",
"info": {
"title": "Fenergo Nebula Entity Profile Command",
"description": "Entity Profile Command API provides endpoints for the configuration of the entity profile page",
"version": "1.0"
},
"servers": [
{
"url": "/entityprofilecommand"
}
],
"paths": {
"/api/EntityProfileConfiguration": {
"post": {
"tags": [
"EntityProfileConfiguration"
],
"summary": "Create the configuration for the entity profile page",
"description": "
Required permissions:
Following permissions are required: EntityProfileConfigurationEdit",
"parameters": [
{
"name": "X-TENANT-ID",
"in": "header",
"description": "The UiD of the tenant representing organization",
"required": true,
"schema": {
"type": "string"
},
"example": "b11f8be3-f29b-4959-8964-956d4af7c468"
}
],
"requestBody": {
"description": "Request object containing the new configuration values",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/CreateConfigurationCommandRequest"
}
]
}
}
}
},
"responses": {
"202": {
"description": "Success. Entity Profile Configuration created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GuidServiceResponse"
}
}
}
},
"400": {
"description": "Bad request. The request object has missing or invalid values",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ValidationErrorModelListServiceResponse"
}
}
}
},
"500": {
"description": "Internal Server Error"
},
"401": {
"description": "Unauthorized. You are missing the required permissions to execute this action"
},
"403": {
"description": "Access to resource is forbidden.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": { },
"messages": [
{
"message": "Access denied. Following permissions are required: Permission1, Permission2",
"type": "Forbidden",
"errorCode": "Error Code"
}
]
}
}
}
},
"410": {
"description": "Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StringServiceResponse"
},
"example": {
"data": null,
"messages": [
{
"message": "This endpoint is obsolete and was terminated on yyyy-MM-dd",
"type": "Error",
"errorCode": "OBSOLETE_ENDPOINT"
}
]
}
}
}
}
}
}
},
"/api/EntityProfileConfiguration/{id}": {
"put": {
"tags": [
"EntityProfileConfiguration"
],
"summary": "Update an existing configuration for the entity profile page",
"description": "
Required permissions:
Following permissions are required: EntityProfileConfigurationEdit",
"parameters": [
{
"name": "id",
"in": "path",
"description": "",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "X-TENANT-ID",
"in": "header",
"description": "The UiD of the tenant representing organization",
"required": true,
"schema": {
"type": "string"
},
"example": "b11f8be3-f29b-4959-8964-956d4af7c468"
}
],
"requestBody": {
"description": "Request object containing the updated configuration values",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/UpdateConfigurationCommandRequest"
}
]
}
}
}
},
"responses": {
"202": {
"description": "Success. Entity Profile Configuration created"
},
"400": {
"description": "Bad request. The request object has missing or invalid values",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ValidationErrorModelListServiceResponse"
}
}
}
},
"404": {
"description": "Resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": { },
"messages": [
{
"message": "Not Found",
"type": "Error",
"errorCode": "Error Code"
}
]
}
}
}
},
"500": {
"description": "Internal Server Error"
},
"401": {
"description": "Unauthorized. You are missing the required permissions to execute this action"
},
"403": {
"description": "Access to resource is forbidden.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": { },
"messages": [
{
"message": "Access denied. Following permissions are required: Permission1, Permission2",
"type": "Forbidden",
"errorCode": "Error Code"
}
]
}
}
}
},
"410": {
"description": "Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StringServiceResponse"
},
"example": {
"data": null,
"messages": [
{
"message": "This endpoint is obsolete and was terminated on yyyy-MM-dd",
"type": "Error",
"errorCode": "OBSOLETE_ENDPOINT"
}
]
}
}
}
}
}
}
},
"/api/EntityProfileConfiguration/{entityId}/{perfomedAction}": {
"post": {
"tags": [
"EntityProfileConfiguration"
],
"summary": "Log Entity Profile Action",
"operationId": "LogEntityProfileAccess",
"parameters": [
{
"name": "entityId",
"in": "path",
"description": "",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "perfomedAction",
"in": "path",
"description": "",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "X-TENANT-ID",
"in": "header",
"description": "The UiD of the tenant representing organization",
"required": true,
"schema": {
"type": "string"
},
"example": "b11f8be3-f29b-4959-8964-956d4af7c468"
}
],
"responses": {
"202": {
"description": "Success. Action was logged"
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ValidationErrorModelListServiceResponse"
}
}
}
},
"500": {
"description": "Internal Server Error"
},
"401": {
"description": "Unauthorized. You are missing the required permissions to execute this action"
},
"403": {
"description": "Access to resource is forbidden.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": { },
"messages": [
{
"message": "Access denied. Following permissions are required: Permission1, Permission2",
"type": "Forbidden",
"errorCode": "Error Code"
}
]
}
}
}
},
"410": {
"description": "Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StringServiceResponse"
},
"example": {
"data": null,
"messages": [
{
"message": "This endpoint is obsolete and was terminated on yyyy-MM-dd",
"type": "Error",
"errorCode": "OBSOLETE_ENDPOINT"
}
]
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"AgencyConfiguration": {
"type": "object",
"properties": {
"underlyingPrincipalsCategory": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"BaseConfigurableColumns": {
"type": "object",
"properties": {
"displayName": {
"type": "string",
"nullable": true
},
"keyName": {
"type": "string",
"nullable": true
},
"propertyType": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"CommonConfiguration": {
"type": "object",
"properties": {
"documentUploadVersion": {
"type": "integer",
"format": "int32"
},
"configurableDocumentColumns": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BaseConfigurableColumns"
},
"nullable": true
},
"showInvestmentAccountAssociations": {
"type": "boolean"
},
"screeningOutcomes": {
"type": "boolean"
}
},
"additionalProperties": false
},
"CreateConfigurationCommandRequest": {
"type": "object",
"properties": {
"entityType": {
"enum": [
"Individual",
"Company",
"Other",
"Group",
"Managed Relationship",
"Product"
],
"type": "string",
"allOf": [
{
"$ref": "#/components/schemas/EntityTypeDto"
}
]
},
"orderAlphabetically": {
"type": "boolean"
},
"overviewCategory": {
"type": "string",
"nullable": true
},
"categories": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
},
"hiddenStatusChips": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
},
"entityGroupConfigurableColumns": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EntityGroupConfigurableColumns"
},
"nullable": true
},
"commonConfiguration": {
"allOf": [
{
"$ref": "#/components/schemas/CommonConfiguration"
}
],
"nullable": true
},
"agencyConfiguration": {
"allOf": [
{
"$ref": "#/components/schemas/AgencyConfiguration"
}
],
"nullable": true
},
"rightHandDrawerCategory": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"EntityGroupConfigurableColumns": {
"allOf": [
{
"$ref": "#/components/schemas/BaseConfigurableColumns"
},
{
"type": "object",
"properties": {
"jurisdiction": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
}
]
},
"EntityTypeDto": {
"enum": [
"Individual",
"Company",
"Other",
"Group",
"Managed Relationship",
"Product"
],
"type": "string"
},
"GuidServiceResponse": {
"type": "object",
"properties": {
"data": {
"type": "string",
"format": "uuid"
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"nullable": true
}
},
"additionalProperties": false
},
"ObjectServiceResponse": {
"type": "object",
"properties": {
"data": {
"nullable": true
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"nullable": true
}
},
"additionalProperties": false
},
"ServiceResponse": {
"type": "object",
"properties": {
"data": {
"type": "string",
"nullable": true
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"nullable": true
}
},
"additionalProperties": false
},
"ServiceResponseMessage": {
"type": "object",
"properties": {
"message": {
"type": "string",
"nullable": true
},
"type": {
"type": "string",
"nullable": true
},
"errorCode": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"StringServiceResponse": {
"type": "object",
"properties": {
"data": {
"type": "string",
"nullable": true
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"nullable": true
}
},
"additionalProperties": false
},
"UpdateConfigurationCommandRequest": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"orderAlphabetically": {
"type": "boolean"
},
"overviewCategory": {
"type": "string",
"nullable": true
},
"categories": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
},
"hiddenStatusChips": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
},
"entityGroupConfigurableColumns": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EntityGroupConfigurableColumns"
},
"nullable": true
},
"commonConfiguration": {
"allOf": [
{
"$ref": "#/components/schemas/CommonConfiguration"
}
],
"nullable": true
},
"agencyConfiguration": {
"allOf": [
{
"$ref": "#/components/schemas/AgencyConfiguration"
}
],
"nullable": true
},
"rightHandDrawerCategory": {
"type": "string",
"nullable": true
},
"entityType": {
"allOf": [
{
"$ref": "#/components/schemas/EntityTypeDto"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"ValidationErrorModel": {
"type": "object",
"properties": {
"propertyName": {
"type": "string",
"nullable": true
},
"errorMessage": {
"type": "string",
"nullable": true
},
"attemptedValue": {
"nullable": true
},
"errorCode": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"ValidationErrorModelListServiceResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationErrorModel"
},
"nullable": true
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"nullable": true
}
},
"additionalProperties": false,
"example": {
"data": [
{
"propertyName": "data",
"errorMessage": "Data is required",
"attemptedValue": "",
"errorCode": "NotNullValidator"
}
],
"messages": [
{
"message": "Data is required",
"type": "Error",
"errorCode": "Error Code"
}
]
}
}
},
"securitySchemes": {
"Bearer": {
"type": "apiKey",
"description": "Please insert JWT with Bearer into field",
"name": "Authorization",
"in": "header"
}
}
},
"security": [
{
"Bearer": [ ]
}
]
}