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": "1.0"
},
"servers": [
{
"url": "/entitydatacommand"
}
],
"paths": {
"/api/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/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/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/entity/{entityId}/draft": {
"post": {
"tags": [
"EntityDraft"
],
"summary": "Create entity draft",
"description": "<ul>\n <li>Creates a new entity draft record for an existing entity.</li>\n <li>Returns the id of the created entity draft.</li>\n</ul><br /><br /><b>Required permissions:</b><br />At least one of the following permissions is required: EntityDataEdit, EntityGroupManagementEdit",
"operationId": "CreateEntityDraft",
"parameters": [
{
"name": "entityId",
"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": "Create entity draft request",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/CreateEntityDraftDtoServiceRequest"
}
]
}
}
}
},
"responses": {
"202": {
"description": "Success. Entity draft created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EntityDraftCreatedDtoServiceResponse"
}
}
}
},
"400": {
"description": "Bad request. The request has missing/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. Entity does not exist or has been deleted",
"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/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": "UpdateEntityDraftRecord",
"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/UpdateEntityDraftRequestDtoServiceRequest"
}
]
}
}
}
},
"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"
}
]
}
}
}
}
},
"deprecated": true
}
},
"/api/entity/{entityId}/draft/{id}/verify": {
"put": {
"tags": [
"EntityDraft"
],
"summary": "Verify entity draft",
"description": "\nVerifies an entity draft record.<br /><br /><b>Required permissions:</b><br />Following permissions are required: EntityDataApprove",
"operationId": "VerifyEntityDraft",
"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": "Conflict Resolutions request",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ConflictResolutionsDtoServiceRequest"
}
]
}
}
}
},
"responses": {
"202": {
"description": "Success. No conflicts were found for the Entity Draft Record"
},
"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"
}
]
}
}
}
},
"400": {
"description": "Bad request. The request has missing/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. 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"
# --- truncated at 32 KB (169 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fenergo/refs/heads/main/openapi/fenergo-entitydatacommand-v1-0-openapi.json