Every API here is available over the APIs.io API and to AI agents over MCP.
{
"openapi": "3.0.4",
"info": {
"title": "Fenergo Nebula EntityData Command",
"description": "Entity Data Command API is part of FenX eco-system to manage Entity Data. All the operations require valid access token obtained from Identity service.",
"version": "2.0"
},
"servers": [
{
"url": "/entitydatacommand"
}
],
"paths": {
"/api/v2/entity": {
"post": {
"tags": [
"Entity"
],
"summary": "Create entity",
"description": "<ul>\n <li>Creates a new entity.</li>\n <li>Returns the id of the created entity.</li>\n</ul><br /><br /><b>Required permissions:</b><br />At least one of the following permissions is required: EntityDataEdit, EntityGroupManagementEdit",
"operationId": "CreateEntity",
"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"
},
{
"name": "X-CORRELATION-ID",
"in": "header",
"description": "The UiD of the correlation id",
"schema": {
"type": "string"
},
"example": "fee5b5f5-b220-4fef-ba38-bf802b98d74d"
}
],
"requestBody": {
"description": "Create entity request",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/CreateEntityRequestV2DtoServiceRequest"
}
]
}
}
}
},
"responses": {
"202": {
"description": "Success. Entity created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EntityCreatedDtoServiceResponse"
}
}
}
},
"400": {
"description": "Bad request. The request has missing/invalid values",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ValidationErrorModelListServiceResponse"
}
}
}
},
"401": {
"description": "User is not authorized to perform this request",
"content": {
"application/json": {
"example": {
"message": "Unauthorized"
}
}
}
},
"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"
}
]
}
}
}
},
"500": {
"description": "Internal server exception. Please, contact your provider.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": null,
"messages": [
{
"message": "Internal server exception. Please, contact your provider.",
"type": "Error",
"errorCode": "INTERNAL_SERVER_ERROR"
}
]
}
}
}
},
"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/v2/entity/full": {
"post": {
"tags": [
"Entity"
],
"summary": "Create entity with full record in response",
"description": "<ul>\n <li>Creates a new entity.</li>\n <li>Returns the full entity record with all properties.</li>\n</ul><br /><br /><b>Required permissions:</b><br />At least one of the following permissions is required: EntityDataEdit, EntityGroupManagementEdit",
"operationId": "CreateEntityFullRecord",
"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"
},
{
"name": "X-CORRELATION-ID",
"in": "header",
"description": "The UiD of the correlation id",
"schema": {
"type": "string"
},
"example": "fee5b5f5-b220-4fef-ba38-bf802b98d74d"
}
],
"requestBody": {
"description": "Create entity request",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/CreateEntityRequestV2DtoServiceRequest"
}
]
}
}
}
},
"responses": {
"202": {
"description": "Success. Entity created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EntityCreatedFullRecordDtoServiceResponse"
}
}
}
},
"400": {
"description": "Bad request. The request has missing/invalid values",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ValidationErrorModelListServiceResponse"
}
}
}
},
"401": {
"description": "User is not authorized to perform this request",
"content": {
"application/json": {
"example": {
"message": "Unauthorized"
}
}
}
},
"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"
}
]
}
}
}
},
"500": {
"description": "Internal server exception. Please, contact your provider.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": null,
"messages": [
{
"message": "Internal server exception. Please, contact your provider.",
"type": "Error",
"errorCode": "INTERNAL_SERVER_ERROR"
}
]
}
}
}
},
"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/v2/entity/{id}/create-url-to-upload-file": {
"post": {
"tags": [
"Entity"
],
"summary": "Create url to upload file.\nThis endpoint is intended for use with the new DataField type - RichTextEditor.",
"description": "<ul>\n <li>Creates url for file upload.</li>\n <li>Returns url that can be used to upload file.</li>\n</ul><br /><br /><b>Required permissions:</b><br />At least one of the following permissions is required: EntityDataEdit, EntityGroupManagementEdit",
"operationId": "CreateUrlToUploadFile",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Entity id.",
"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"
},
{
"name": "X-CORRELATION-ID",
"in": "header",
"description": "The UiD of the correlation id",
"schema": {
"type": "string"
},
"example": "fee5b5f5-b220-4fef-ba38-bf802b98d74d"
}
],
"requestBody": {
"description": "Parameters to create url to upload",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/CreateUrlToUploadFileRequestDtoServiceRequest"
}
]
}
}
}
},
"responses": {
"202": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateUrlToUploadFileResponseDtoServiceResponse"
}
}
}
},
"400": {
"description": "Bad request. The request has missing/invalid values",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ValidationErrorModelListServiceResponse"
}
}
}
},
"401": {
"description": "User is not authorized to perform this request",
"content": {
"application/json": {
"example": {
"message": "Unauthorized"
}
}
}
},
"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"
}
]
}
}
}
},
"500": {
"description": "Internal server exception. Please, contact your provider.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": null,
"messages": [
{
"message": "Internal server exception. Please, contact your provider.",
"type": "Error",
"errorCode": "INTERNAL_SERVER_ERROR"
}
]
}
}
}
},
"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/v2/entity/{entityId}/draft/{id}": {
"put": {
"tags": [
"EntityDraft"
],
"summary": "Update entity draft",
"description": "\nUpdates an existing entity draft.<br /><br /><b>Required permissions:</b><br />At least one of the following permissions is required: EntityDataEdit, EntityGroupManagementEdit",
"operationId": "UpdateEntityDraftRecordV2",
"parameters": [
{
"name": "entityId",
"in": "path",
"description": "Entity id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "id",
"in": "path",
"description": "Entity draft id",
"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"
},
{
"name": "X-CORRELATION-ID",
"in": "header",
"description": "The UiD of the correlation id",
"schema": {
"type": "string"
},
"example": "fee5b5f5-b220-4fef-ba38-bf802b98d74d"
}
],
"requestBody": {
"description": "Update entity draft request. Must contain Policy jurisdiction(s) and entity draft properties",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/UpdateEntityDraftRequestV3DtoServiceRequest"
}
]
}
}
}
},
"responses": {
"202": {
"description": "Success. Entity draft updated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EntityDraftUpdatedDtoServiceResponse"
}
}
}
},
"400": {
"description": "Bad request. The request has missing/invalid values",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ValidationErrorModelListServiceResponse"
}
}
}
},
"409": {
"description": "Conflict saving changes in expected version",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": { },
"messages": [
{
"message": "There are conflicts that cannot be resolved automatically, get latest and apply your changes",
"type": "Error",
"errorCode": "CONFLICT"
}
]
}
}
}
},
"404": {
"description": "Resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": { },
"messages": [
{
"message": "Not Found. Entity/entity draft with given id does not exist",
"type": "Error",
"errorCode": "Error Code"
}
]
}
}
}
},
"401": {
"description": "User is not authorized to perform this request",
"content": {
"application/json": {
"example": {
"message": "Unauthorized"
}
}
}
},
"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"
}
]
}
}
}
},
"500": {
"description": "Internal server exception. Please, contact your provider.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": null,
"messages": [
{
"message": "Internal server exception. Please, contact your provider.",
"type": "Error",
"errorCode": "INTERNAL_SERVER_ERROR"
}
]
}
}
}
},
"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/v2/entity/{entityId}/draft/{id}/shared-data-template": {
"put": {
"tags": [
"EntityDraft"
],
"summary": "Update entity draft and adds shared data template to it.",
"description": "\nUpdates an existing groups entity draft to include a shared data template.<br /><br /><b>Required permissions:</b><br />Following permissions are required: EntityGroupManagementEdit",
"operationId": "UpdateSharedDataTemplate",
"parameters": [
{
"name": "entityId",
"in": "path",
"description": "Entity id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "id",
"in": "path",
"description": "Entity draft id",
"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"
},
{
"name": "X-CORRELATION-ID",
"in": "header",
"description": "The UiD of the correlation id",
"schema": {
"type": "string"
},
"example": "fee5b5f5-b220-4fef-ba38-bf802b98d74d"
}
],
"requestBody": {
"description": "update shared data template request",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/UpdateSharedDataTemplateRequestDtoServiceRequest"
}
]
}
}
}
},
"responses": {
"202": {
"description": "Success. Entity draft updated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EntityDraftUpdatedDtoServiceResponse"
}
}
}
},
"400": {
"description": "Bad request. The request has missing/invalid values",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
}
}
},
"404": {
"description": "Resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": { },
"messages": [
{
"message": "Not Found. Entity/entity draft with given id does not exist",
"type": "Error",
"errorCode": "Error Code"
}
]
}
}
}
},
"409": {
"description": "Conflict saving changes in expected version",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": { },
"messages": [
{
"message": "There are conflicts that cannot be resolved automatically, get latest and apply your changes",
"type": "Error",
"errorCode": "CONFLICT"
}
]
}
}
}
},
"401": {
"description": "User is not authorized to perform this request",
"content": {
"application/json": {
"example": {
"message": "Unauthorized"
}
}
}
},
"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"
}
]
}
}
}
},
"500": {
"description": "Internal server exception. Please, contact your provider.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": null,
"messages": [
{
"message": "Internal server exception. Please, contact your provider.",
"type": "Error",
"errorCode": "INTERNAL_SERVER_ERROR"
}
]
}
}
}
},
"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/v2/entity/{entityId}/draft/{id}/shared-data-template/clear": {
"put": {
"tags": [
"EntityDraft"
],
"summary": "Clears the shared data template from a entity draft.",
"description": "\nUpdates an existing groups entity draft to remove a shared data template.<br /><br /><b>Required permissions:</b><br />Following permissions are required: EntityGroupManagementEdit",
"operationId": "ClearSharedDataTemplate",
"parameters": [
{
"name": "entityId",
"in": "path",
"description": "Entity id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "id",
"in": "path",
"description": "Entity draft id",
"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"
},
{
"name": "X-CORRELATION-ID",
"in": "header",
"description": "The UiD of the correlation id",
"schema": {
"type": "string"
},
"example": "fee5b5f5-b220-4fef-ba38-bf802b98d74d"
}
],
"responses": {
"202": {
"description": "Success. Entity draft updated"
},
"400": {
"description": "Bad request. The request has missing/invalid values",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
}
}
},
"404": {
"description": "Resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": { },
"messages": [
{
"message": "Not Found. Entity/entity draft with given id does not exist",
"type": "Error",
"errorCode": "Error Code"
}
]
}
}
}
},
"409": {
"description": "Conflict saving changes in expected version",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": { },
"messages": [
{
"message": "There are conflicts that cannot be resolved automatically, get latest and apply your changes",
"type": "Error",
"errorCode": "CONFLICT"
}
]
}
}
}
},
"401": {
"description": "User is not authorized to perform this request",
"content": {
"application/json": {
"example": {
"message": "Unauthorized"
}
}
}
},
"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"
}
]
}
}
}
},
"500": {
"description": "Internal server exception. Please, contact your provider.",
"content": {
"ap
# --- truncated at 32 KB (198 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fenergo/refs/heads/main/openapi/fenergo-entitydatacommand-v2-0-openapi.json