Every API here is available over the APIs.io API and to AI agents over MCP.
{
"openapi": "3.0.1",
"info": {
"title": "Fenergo Nebula Risk Query",
"description": "**Risk Query API**:<br/><br/><br/> Risk Query API provides endpoints in order to retrieve all configured risk related models and their versions, as well as to perform risk assessment calculations.<br/><br/><br/> **Risk Query API provides**:<br/><ul><li> Risk Assessment Calculation</li><li> Risk Calculator Scoping Rules retrieval</li><li> Risk Configuration Collection and Items retrieval</li><li> Risk Models retrieval</li><li> Risk Threshold Models retrieval</li><li> Risk Scoping Rules retrieval</li></ul>",
"version": "1.0"
},
"servers": [
{
"url": "/riskquery"
}
],
"paths": {
"/api/risk-assessment": {
"post": {
"tags": [
"RiskAssessment"
],
"summary": "Generate a new Risk Assessment",
"description": "\nThis method will calculate the risk and generate a risk assessment based \r\n on the options and data defined in the request DTO.<br /><br /><b>Required permissions:</b><br />Following permissions are required: RiskCalculatorAccess",
"operationId": "RiskAssessment",
"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": "The Fenergo.Nebula.Risk.Query.Application.Dto.RiskAssessmentDto model defining the risk data for the assessment",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/RiskAssessmentDtoServiceRequest"
}
]
}
},
"text/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/RiskAssessmentDtoServiceRequest"
}
]
}
},
"application/*+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/RiskAssessmentDtoServiceRequest"
}
]
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/EntityRiskAssessmentServiceResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/EntityRiskAssessmentServiceResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/EntityRiskAssessmentServiceResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
}
}
},
"500": {
"description": "An exception occurred while processing the command"
},
"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"
}
]
}
}
}
},
"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/risk-assessment/{taskId}": {
"get": {
"tags": [
"RiskAssessment"
],
"summary": "Get Risk Assessment by task id",
"description": "\nThis method will retrieve risk assessment by assigned task id .<br /><br /><b>Required permissions:</b><br />Following permissions are required: RiskCalculatorAccess",
"operationId": "GetRiskAssessmentByTaskId",
"parameters": [
{
"name": "taskId",
"in": "path",
"description": "Id of the task for returning risk assessment",
"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"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/RiskTaskResultModelServiceResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/RiskTaskResultModelServiceResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/RiskTaskResultModelServiceResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
},
"text/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",
"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/risk-assessment/taskResults": {
"post": {
"tags": [
"RiskAssessment"
],
"summary": "Get multiple Risk Assessments",
"description": "\nThis method will retrieve risk assessments for provided taskIds<br /><br /><b>Required permissions:</b><br />Following permissions are required: RiskCalculatorAccess",
"operationId": "GetRiskAssessments",
"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": "The Fenergo.Nebula.Risk.Query.Application.Dto.RiskAssessmentsRequest consist the collection of taskIds that we want to fetch risk assessements for",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/RiskAssessmentsRequestServiceRequest"
}
]
}
},
"text/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/RiskAssessmentsRequestServiceRequest"
}
]
}
},
"application/*+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/RiskAssessmentsRequestServiceRequest"
}
]
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/RiskTaskResultModelIEnumerableServiceResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/RiskTaskResultModelIEnumerableServiceResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/RiskTaskResultModelIEnumerableServiceResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
}
}
},
"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/risk-assessment/related-parties/{taskId}": {
"post": {
"tags": [
"RiskAssessment"
],
"summary": "Get Risk Assessments for Related Parties by task id and entity ids",
"description": "\nThis method will retrieve risk assessments for related parties based on the given task id and entity ids.<br /><br /><b>Required permissions:</b><br />Following permissions are required: RiskCalculatorAccess",
"operationId": "GetRiskAssessmentsForRelatedParties",
"parameters": [
{
"name": "taskId",
"in": "path",
"description": "Id of the task for returning related parties risk assessments",
"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": "Ids of the entity for returning related party risk assessment",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/GetRiskRelatedPartiesResultRequestDtoServiceRequest"
}
]
}
},
"text/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/GetRiskRelatedPartiesResultRequestDtoServiceRequest"
}
]
}
},
"application/*+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/GetRiskRelatedPartiesResultRequestDtoServiceRequest"
}
]
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/RiskTaskResultModelListDtoServiceResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/RiskTaskResultModelListDtoServiceResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/RiskTaskResultModelListDtoServiceResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
}
}
},
"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/risk-assessment/related-parties/{taskId}/entity/{entityId}": {
"get": {
"tags": [
"RiskAssessment"
],
"summary": "Get Risk Assessment for Related Party by task id and entity id",
"description": "\nThis method will retrieve a specific risk assessment for a related party based on the given task id and entity id.<br /><br /><b>Required permissions:</b><br />Following permissions are required: RiskCalculatorAccess",
"operationId": "GetRiskAssessmentDetailsForRelatedParty",
"parameters": [
{
"name": "taskId",
"in": "path",
"description": "Id of the task for returning related party risk assessment",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "entityId",
"in": "path",
"description": "Id of the entity for returning related party risk assessment",
"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"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/RiskTaskResultModelViewModelDtoServiceResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/RiskTaskResultModelViewModelDtoServiceResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/RiskTaskResultModelViewModelDtoServiceResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
},
"text/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",
"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/risk-calculator-options": {
"get": {
"tags": [
"RiskCalculatorOptionModel"
],
"summary": "Get all Risk Calculator Option Models",
"description": "\nThis method returns all risk calculator options for the given tenant.<br /><br /><b>Required permissions:</b><br />Following permissions are required: RiskConfigurationAccess",
"operationId": "GetAllRiskCalculatorOptionModels",
"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"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/RiskCalculatorOptionModelIEnumerableServiceResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/RiskCalculatorOptionModelIEnumerableServiceResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/RiskCalculatorOptionModelIEnumerableServiceResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
}
}
},
"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 a
# --- truncated at 32 KB (208 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fenergo/refs/heads/main/openapi/fenergo-riskquery-v1-0-openapi.json