Every API here is available over the APIs.io API and to AI agents over MCP.
{
"openapi": "3.0.4",
"info": {
"title": "Fenergo Financial Analysis Command API",
"description": "**Fenergo Financial Analysis Command API**:\n\n<br> Financial Analysis Command API provides both configurational and operational methods related to the client financial analysis. Use the Financial Analysis Command API to create and update new and existing financial analysis data. Use the Query API to retrieve financial analysis data.\n\n<br> **Financial Analysis Command API provides**:<br><ul><li> The ability to manage Financial Analysis Set.</li><li> The ability to manage Financial Analysis Version.</li><li> The ability to update Financial Analysis Schema.</li></ul>",
"version": "1.0"
},
"servers": [
{
"url": "/financialanalysiscommand"
}
],
"paths": {
"/api/allocation": {
"post": {
"tags": [
"Allocation"
],
"summary": "Create a new Capacity to Service Set",
"description": "\nCreates a new Capacity to Service Set for the Journey.<br /><br /><b>Required permissions:</b><br />Following permissions are required: FinancialAnalysisEdit",
"operationId": "CreateAllocationSet",
"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": "Create Capacity to Service Set request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AllocationSetDtoServiceRequest"
}
}
}
},
"responses": {
"202": {
"description": "Success. Capacity to Service Set created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AllocationSetDtoServiceResponse"
}
}
}
},
"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",
"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/allocation/{setId}/version": {
"post": {
"tags": [
"Allocation"
],
"summary": "Create a new Capacity to Service Version and Capacity to Service Schema",
"description": "\nThis method creates a new Capacity to Service Version based on the previous completed version.\n\nIt also generates the Capacity to Service Schema based on the input and save it to s3.<br /><br /><b>Required permissions:</b><br />Following permissions are required: FinancialAnalysisEdit",
"operationId": "CreateAllocationVersion",
"parameters": [
{
"name": "setId",
"in": "path",
"description": "Capacity to Service Set 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"
}
],
"requestBody": {
"description": "ServiceRequest with the schema snapshot data",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AllocationSchemaRequestDtoServiceRequest"
}
}
}
},
"responses": {
"202": {
"description": "Accepted for processing",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AllocationVersionDtoServiceResponse"
}
}
}
},
"400": {
"description": "Invalid request",
"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": "Capacity to Service Set with given ID does not exists",
"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/allocation/{setId}/{id}": {
"put": {
"tags": [
"Allocation"
],
"summary": "Update a Capacity to Service Version",
"description": "\nThis method updates an existing Capacity to Service Version.\n\nOnly Capacity to Service Version with draft status can be updated.\n\nOnly Capacity to Service Version that satisfies non-mandatory validation rules can be updated.<br /><br /><b>Required permissions:</b><br />Following permissions are required: FinancialAnalysisEdit",
"operationId": "UpdateAllocationVersion",
"parameters": [
{
"name": "setId",
"in": "path",
"description": "Capacity to Service Set Id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "id",
"in": "path",
"description": "Capacity to Service Version 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"
}
],
"requestBody": {
"description": "Capacity to Service Version data",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AllocationVersionDtoServiceRequest"
}
}
}
},
"responses": {
"202": {
"description": "Accepted for processing",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AllocationVersionDtoServiceResponse"
}
}
}
},
"400": {
"description": "Invalid request",
"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": "Capacity to Service with given ID does not exists",
"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/allocation/{setId}/{id}/status": {
"put": {
"tags": [
"Allocation"
],
"summary": "Update a Capacity to Service Version status",
"description": "\nThis method updates an existing Capacity to Service Version status.\n\nOnly Capacity to Service Version with draft status can be updated.\n\nOnly Capacity to Service Version that satisfies validation rules can be completed.<br /><br /><b>Required permissions:</b><br />Following permissions are required: FinancialAnalysisEdit",
"operationId": "UpdateAllocationStatus",
"parameters": [
{
"name": "setId",
"in": "path",
"description": "Capacity to Service Set Id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "id",
"in": "path",
"description": "Capacity to Service Version 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"
}
],
"requestBody": {
"description": "Status body: Draft, Completed, Rejected, Verified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StatusDtoServiceRequest"
}
}
}
},
"responses": {
"202": {
"description": "Accepted for processing",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StatusDtoServiceResponse"
}
}
}
},
"400": {
"description": "Invalid request",
"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": "Capacity to Service Set with given ID does not exists",
"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/allocation/{setId}/{id}/schema": {
"put": {
"tags": [
"Allocation"
],
"summary": "Update a Capacity to Service Schema",
"description": "\nThis method generates Capacity to Service Schema based on the input and policy configuration.\n\nIt updates or creates Capacity to Service Schema associated to the Set and Version Id in s3.<br /><br /><b>Required permissions:</b><br />Following permissions are required: FinancialAnalysisEdit",
"operationId": "UpdateAllocationSchema",
"parameters": [
{
"name": "setId",
"in": "path",
"description": "Capacity to Service Set Id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "id",
"in": "path",
"description": "Capacity to Service Version 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"
}
],
"requestBody": {
"description": "Update Capacity to Service Schema request Fenergo.Nebula.FinancialAnalysis.Command.Application.Dto.RetrieveSchemaDto",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AllocationSchemaRequestDtoServiceRequest"
}
}
}
},
"responses": {
"202": {
"description": "Success. Capacity to Service Schema updated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AllocationSchemaDtoServiceResponse"
}
}
}
},
"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",
"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/configuration/allocation": {
"post": {
"tags": [
"AllocationConfiguration"
],
"summary": "Create a new Capacity to Service Configuration",
"description": "\nCreates a new Capacity to Service Configuration<br /><br /><b>Required permissions:</b><br />Following permissions are required: AllocationConfigurationCreate",
"operationId": "CreateAllocationConfiguration",
"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": "Create Capacity to Service Configuration request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AllocationConfigurationVersionDtoServiceRequest"
}
}
}
},
"responses": {
"202": {
"description": "Success. Capacity to Service Configuration created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AllocationConfigurationVersionDtoServiceResponse"
}
}
}
},
"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",
"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": [
{
# --- truncated at 32 KB (359 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fenergo/refs/heads/main/openapi/fenergo-financialanalysiscommand-v1-0-openapi.json